你知道的越多,你不知道的越多前端
群里不知道多少次你们说本身的项目没亮点,在大学没项目出去后怕找不到工做,问敖丙我实习的时候是怎么拿的华为Offer。java
其实大学的项目很简单不须要太大的难度,由于面试官知道你也没啥经验,不会很在乎这个,可是你得有项目这是必要条件,再不济增删改查你要比别人6吧,否则找个0经验的人进去,不是给他本身挖坑?git
并且若是你有个还不错的履历,或者你的项目还有一些亮点,那完美了,你的Offer率会拉开同行的仔一大截的。github
丙帅我呢大学作过几个项目,前些天问了问学妹,还在学校稳定运行着,说实话我有点小骄傲了。web
可是说实话,我拿华为Offer跟这些项目关系不大,大学时候完成的项目彻底是兴趣使然,想起当初本身一我的在室友还没起床的时候去图书馆,在室友都睡觉的时候还没回去的时光,个人眼角又湿了。面试
Tip:怎么拿的Offer我会在《程序人生》系列写,过年前或者后面出个我大学到如今的心路历程哈哈。后端
当时在电子阅览室当管理员,甚至屡次为了赶进度,在图书馆通宵达旦,好在最后仍是完成了那个项目,本身一我的从前端到服务端,从研发到部署上线。tomcat
你们都知道学校选课用选课系统的时候,不少学校给第三方公司作的系统都很卡,敖丙作的项目就不卡,由于那个时候我就用到Redis了,如今想一想设计思想还算前卫。ruby
好了吹了这么多,其实就是为了引出今天的主题,如何从0到1搭建一个能够外网访问的项目。服务器
不少小伙伴看到最后要说了,丙丙我要学的是分布式,才不要学垃圾的单机系统。
分布式不就是一个单机的服务构成的,你多起几个进行RPC通讯不就行了?
双十二阿里服务器推广,不买的小伙伴直接跳过这段,不过用来学习真的香,比学生的9.9每个月还便宜。
我帮阿里云推广服务器89/年,229/3年,买来送本身,送女友立刻过年再合适不过了,买了搭建个项目给面试官看也香,还能够熟悉技术栈,我明天会出一个服务器搭建我的项目的教程(老用户用家人的购买,我用我妈的)。扫码购买
我就用本身的服务器给你们举例,怎么从0到1搭建一个学生和新手能够用来面试的项目,老手也能够回忆一下本身逝去的青春。
可能有小伙伴疑惑,丙丙为啥要服务器,本地不行么?
能够,固然不是为了推广服务器哈,你们能够不买,我只是阐述一下本身的观点,由于你们之后出去不免遇到本身操做服务器的状况,有些公司没有集成发布系统,那就须要你亲自去机器上操做了。
而后你rm -rf ,好了去财务室领下工资吧,年末了,提早回家过年可还行?
开玩笑的哈,只是不少操做你们不常常熟悉其实会都不知道,真正去操做或者面试官问你,熟悉各类操做么,你说不熟悉,好的回去等消息。
做为面试官,面试没多少经验的你,他更看重你思考的思路,还有你有没有实操过,务实么?
帅丙我大学的项目就是常常操做,因此后面很长一段时间的服务器操做,还有Linux命令啥的都仍是不错的,技术栈搭建起来也是很熟悉,不过最近都是用的公司的工具,命令忘了好多了,须要检讨一下了。
服务器在激活的时候会让你选系统,这个时候敖丙我我的建议,有点基础已经熟悉安装过程和环境配置的同窗能够直接选择镜像,镜像市场里面有不少很适合的镜像,我选的就是带JDK8,Tomcat8,MySQL的镜像。
没搞过的同窗能够尝试着选个空白机,而后下好这些东西,一步步去尝试,我想收获仍是会有的,跟你在本身电脑搭建的区别你会立刻体会到,这就是为啥建议你们去服务器操做的缘由之一。
镜像记得选不要钱的,通常都是免费的。
镜像市场
选完你在实例就能够看到本身的服务器了,下面就是帅丙的服务器,竟然跟我同样帅,天呐。
上面都是新搭建的小伙伴,已经有服务器的小伙伴,可是又想换成镜像怎么办?
你们先把服务停掉而后点击右边的更换操做系统就行了,会让你去镜像市场选的,以前你选了什么系统均可以换。
能够直接在管理界面网页登陆服务器远程连接,也能够本身本地用对应的控制台工具链接。
我的推荐本地的控制台链接会好点,每次要登陆服务器都要去网页很麻烦的。
网页端查看
远程连接的代码,记住是你们的公网ip,管理界面看获得的,要记得你购买的时候配置的密码,由于这个时候要输入。
ssh root@123.14.123.8 -p 22 (后面的22是个端口,后面我介绍到)
本地直连
到这一步的时候,不少小伙伴直接登陆成功,可是以前就已经有服务器的朋友是不发现,出现下面这个页面了?
会出现这些信息是由于,第一次SSH链接时,会生成一个认证,储存在客户端(也就是用SSH连线其余电脑的那个,本身操做的那个)中的known_hosts,可是若是服务器验证过了,认证资讯固然也会更改,服务器端与客户端不一样时,就会跳出错误啦~所以,只要把电脑中的认证资讯删除,连线时从新生成,就一切完美啦~要删除很简单,只要在客户端输入一个指令
ssh-keygen -R +输入服务器的IP
接下来再次链接一次,会出现
Are you sure you want to continue connecting (yes/no)?
输入yes!
就完成链接啦!同时,新的认证也生成了。
进去后若是是镜像的小伙伴会发现自己他准备好的东西都在了,环境都搭建起来了,你们只管直接使用就行了。
可是若是没有选择镜像的朋友,就须要本身搭建一个FTP或者使用传输命令去把你下载好的Tomcat、MySQL等传输进来安装好。
你们能够看到还有一个默认密码文件夹,里面就有MySQL和FTP的帐号密码什么的,不一样的镜像可能有差别。
这个在以后你们本身的服务写代码的时候,配置链接本地的MySQL就是须要这个的。
此次教你们搭建的项目说大不大,说小吧他啥都有,反正小白和学生确定很适合,是个我的博客网站。
咱们先看看博客的效果,看看你们做为大学的项目到底合格么?
我大学作的那个项目比起这个就差点意思了,当时要是有这么好的UI就很香了!
以我这种直男审美都以为UI很不错,你觉得只是UI能够?那咱们看看项目!
项目的Git地址 https://github.com/halo-dev/halo.git 你们克隆一下就行了。
这个项目自己是Gradle的,不少小伙伴就要说了,啊帅丙我不要,我就要Maven项目的。
我只想告诉你们,技多不压身,目前不少大厂都是Maven项目Gradle项目都占有很高的比重,你怎么知道你去的公司会用啥?
你会用进去减小多少学习的成本啊,Leader在旁边暗自给你比一个大拇指,暗自感叹:帅丙的读者,有点东西。
Mac不少小伙伴安装的时候发现没有Homebrew 就没办法用很方便的命令行去下载安装Gradle,那简单咱们安装一下,用下面的命令。(Windows的朋友直接官网下载一个就行了 https://gradle.org/install)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这个安装好了,咱们再用下面的命令就能够就把Gradle安装好了,是否是比你去下载方便不少?
接下来去项目中设置下Gradle地址,这里介绍的是IDEA的设置
不少人问我为啥推荐这个项目,这个项目看过次代码了,没有啥语法错误,项目结构彻底标准的项目,注释也很齐全,代码的风格挺不错的,仍是 用了不少新语法和注解。
并且他也不难理解,结构很简单,前端后端都很简单,你们看看代码,看看先后的接口,很快就能适应这个项目了。
后端
前端
接下来咱们能够用项目去打个包,或者直接下载敖丙打包好的。(jar包还有war包随意)
curl -L https://github.com/halo-dev/halo/releases/download/v1.1.1/halo-1.1.1.jar --output halo-latest.jar
或者
wget https://github.com/halo-dev/halo/releases/download/v1.1.1/halo-1.1.1.jar -O halo-latest.jar
文件传输呢,帅丙我习惯命令行了,FTP这样的工具仍是不适应,我就发下命令行是怎么把jar包从本地传输到服务器的。
scp -P 22 /Java/program.war root@123.456.789.987:/usr/server/tomcat7/webapps/
咱们进入机器去看一下,文件已经传输进来了。
由于是一个SpringBoot项目,你只要有JDK直接就能跑起来了。
java -jar halo-latest.jar
而后你们访问下本身的 ip+端口(8090)就能看到项目了
而后不少小伙伴说,渣男,个人怎么不行?
稍等稍等,敖丙啊还正准备说呢,你们的端口默认就开通了 22 、-一、3389
22是否是很熟悉,就是开头咱们连接的端口号→ ssh root@123.14.123.8 -p 22 也是由于厂商默认给咱们开通了,咱们才能够直接连接的。
可是咱们要访问别的端口,那就去开通嘛,记得入口出口同样都要开通哟!
而后重启下机器,从新启动项目,是否是!!!能够访问了???咱们先注册一下
注册
而后再登陆进去。
登陆
能够看到校验的异常什么的都直接日志抛出的,项目我以为对于学生和新手来讲很香,里面的代码风格你们也多适应一下。
登陆进去咱们能够发现,功能很全,博客网站基本的结构都在了。
有个不成熟的猜测,还没毕业设计的朋友。。。。
看到这里不少小伙伴可能会说你就是为了推广服务器才写的吧,我说实话有必定的成分,可是更可能是由于我本身的群里,常常有不少小伙伴对项目的整个搭建流程不是很熟悉,因此才出这样的一篇文章的。
这里只是一个单机的项目,你们真正部署的时候要体验别的技术栈能够去Git上下载下来部署上去,体验他整个部署流程,中间确定不少不顺利的地方相信我,100000%不会一次成功,可是你慢慢摸索的过程就是你学习的收获的过程。
你们常常问我那些大佬怎么成长上去的,踩坑和付出大量实践上去的,别无他法。
我老东家的Leader 95年的,是咱们以前公司前端后端的Leader,技术深度广度,业务深度都使人发指,怎么作到的?
简单,不断踩坑学习咯,天天都是凌晨回去,白天开会,晚上写代码,甚至还要挤出时间学习新的业务,技术栈也是不断本身去摸索。
以前他一手带的我,我跟他太熟悉了,买了早餐刚坐下就去开会讨论业务,晚上6点回来就说:诶鸡蛋豆浆都冷了啊,而后丢垃圾桶。
学习是一条使人时而喜极若狂、时而郁郁寡欢的道路。
成长路上咱们一块儿共勉。
好了各位,以上就是这篇文章的所有内容了,能看到这里的人呀,都是人才。
我后面会每周都更新几篇一线互联网大厂面试和经常使用技术栈相关的文章,很是感谢人才们能看到这里,若是这个文章写得还不错,以为「敖丙」我有点东西的话 求点赞 求关注 求分享 对暖男我来讲真的 很是有用!!!
创做不易,各位的支持和承认,就是我创做的最大动力,咱们下篇文章见!
敖丙 | 文 【原创】【转载请联系本人】 若是本篇博客有任何错误,请批评指教,不胜感激 !
文章每周持续更新,能够关注个人公众号「 JavaFamily 」第一时间阅读和催更(公众号比博客早一到两篇哟),本文GitHub https://github.com/JavaFamily 上已经收录,有一线大厂面试点思惟导图,欢迎Star和完善,里面也有我我的联系方式有什么问题也能够直接找我,也有技术交流群,咱们一块儿有点东西。