项目部署到服务器详情
项目首页地址:https://blog.csdn.net/weixin_45019350/article/details/108869025
我们的项目构建好之后,需要部署到服务器别人才能够访问,部署到服务器需要将我们本地项目上传到服务器,下图是项目部署图可供参考。
一、申请阿里云服务器
首先我们需要一个可部署项目的服务器,这里我申请的是阿里云服务器。
1.1 前往阿里云官网:https://www.aliyun.com/
1.2 注册一个账号,登陆账号
1.3 按如下步骤申请一个云服务器:
注册过程中会让你设置账号密码远程连接密码(6位数字)、公网IP、服务器账号、服务器密码,还有一个远程登陆密码,拿个笔记记下来
二、添加实例安全组
安全组中除了自带的规则,我们还需要添加几个新的安全组(这些安全组的具体作用可以看其他博主的文章)
三、进行远程连接
回到“实例列表”,点击 实例ID 进入服务器,点击 ”远程连接“,输入6位连接密码,就可以看到我们申请的这个服务器了。
四、XShell使用
简单测试一下,你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以我们采用别的方式登录这个云服务器。
Xshell下载官网:https://xshell.en.softonic.com/(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 5)
登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
连接不上可能是防火墙拒绝了本地连接请求,关闭防火墙即可
1、查看防火墙状态:
sudo ufw status
2、关闭防火墙:
sudo ufw disable
3、开启防火墙:
sudo ufw enable
五、云服务器安装jdk,mysql
安装教程网上有很多可自行搜索。
六、部署SpringBoot项目
linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)
<!-- 打包成jar包 -->
<packaging>jar</packaging>
打开application.properties,设置项目运行端口(默认是8080,如果你用的是别的端口,把你的端口加入到阿里云服务器实例安全组中去)
1、项目打包成jar包,右键项目 >> Run As >> Maven install
项目打包成功,可以在target文件夹中看到项目的jar包。
2、把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录。(耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包)
3、我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错
查看端口使用情况
netstat -anp | grep 8080 //netstat -anp | grep <端口号>
4、可以看到这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID
sudo lsof -i:8800 //sudo lsof -i:<端口号>
我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空)
sudo kill -9 26191 //sudo kill -9 <PID>
5、使用java指令运行项目jar包,这样我们的项目就算部署成功了
java -jar ***.jar //***为你的jar包名
6、随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了(如果你跟我一样,买的是学生优惠版的,它的带宽速度只有1M,第一次载入会非常慢,耐心等等,等有了钱,升级个好一点的吧)
7、当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar xxx.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.
1)给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)
chmod 777 start.sh //赋予管理员权限
nohup ./start.sh & //不间断运行文件内的指令
//或者
nohup java -jar jar包名称 &
这样就是运行成功了
8、查看端口使用情况
netstat -anp | grep 8800
把Xshell关掉,在浏览器上输入http://公网IP:8800 发现项目还是可以进入,说明我们已经设置成功了。至此springboot项目部署到阿里云服务器上完结。
9、配置域名
但是有没有发现我们的网站跟别人的不太一样?别人访问网站都是www.***.com的格式的,而我们却要打一串复杂难记的数字。其实www.***.com是一个类似指针的东西(叫做域名),它指向的地址就是我们公网IP。这个指针在阿里云上就可以申请。
1)找到和自己心意的域名,选好后在右边的域名清单里给钱结算。
2)进入控制台,可以看到你购买的域名
3)选择你要操作的域名,点击“解析”(现在解析好像要在公安备案后才能使用,所以购买域名后还得进行公安备案这个时间比较长)
4)然后我们就可以通过 www.域名.com:8800 的方式访问我们的网站了,公安备案后就可直接通过域名不加端口进行访问了。
解析就是将你的域名和主机ip进行绑定