【工具】部署:vue+springboot单体项目部署到服务器

avatar
作者
筋斗云
阅读量:1

腾讯云、阿里云服务器都可以,首次尝试一下腾讯云

文章目录

一、相关的工具或环境准备

1.1所需工具目录
(1)购买一台服务器
(2)xshell 远程连接服务器(SSH方式连接)https://www.xshell.com/zh/free-for-home-school/
(3)xftp 上传文件到服务器上 https://www.xshell.com/zh/free-for-home-school/
(4)服务器上安装jdkhttps://blog.csdn.net/qq_37449606/article/details/138015560
(5)服务器上安装nginxhttps://blog.csdn.net/qq_37449606/article/details/138035977
(6)服务器上安装mysqlhttps://blog.csdn.net/qq_37449606/article/details/138016263

1.2xshell的使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3xftp的使用
在这里插入图片描述
然后输入用户名、密码(同xshell一样)

二、腾讯云相关

2.1开放所需端口

80 Web服务HTTP 默认的端口
3306 mysql所需
22 linux ssh登录所需
443 配置https所需
8080 springboot后端服务所需(这里是我的端口号,可以在后端配置文件中自定义)
后续随时更新
在这里插入图片描述

2.2腾讯云登录方式切换

比如第一次使用免密登录,想切换成SSH登录
或者重装系统后,要清除上一次的连接方式
OrcaTerm→命令面板→连接配置页→连接配置→右侧三个点可看到删除按钮
在这里插入图片描述

三、后端打包及部署

3.1先点击clean清一下,然后点击package

3.2如果springoot配置了多环境,记得在配置文件yml文件中修改,多环境配置参考:

https://blog.csdn.net/qq_37449606/article/details/138161809
在这里插入图片描述ru

3.3如图为打好的包 jar包

在这里插入图片描述

3.4将jar包使用xftp工具上传到服务器

同时将application.yml配置文件上传,外层的yml优先级会高于jar里的yml
在这里插入图片描述

3.5启动脚本

(1)/home/demo/java/springbootDemo-0.0.1-SNAPSHOT.jar为放jar包的路径
(2)到放后端服务的根目录(这里是java)下输入./start.sh(使用xshell工具连接服务器,定位到java目录下)

nohup java -jar /home/demo/java/springbootDemo-0.0.1-SNAPSHOT.jar  > server.log 2>&1 & echo 'start success' 

3.6授权(使用xshell工具连接服务器,定位到java目录下)

在这里插入图片描述

chmod +x *
文件会变成绿色

3.7启动后端服务后(./start.sh),查看日志

tail -f server.log

3.8停止服务

(1)查看springboot服务:ps -ef|grep springbootDemo-0.0.1-SNAPSHOT.jar
在这里插入图片描述
(2)杀掉此进程号:kill -9 27671

停止脚本后续补充(stop.sh)

四、前端打包及部署

npm run build
如图前端vue打好的包
在这里插入图片描述

五、配置nginx

1.nginx安装参考:https://blog.csdn.net/qq_37449606/article/details/138035977
2.使用xftp连接服务器,找到nginx的配置文件(/usr/local/nginx/conf/nginx.conf)
3.修改nginx配置后要记得重启 (到/usr/local/nginx/sbin目录下执行./nginx -s reload)
在这里插入图片描述

        location / {             root   /home/demo/vue/dist;             index  index.html index.htm;             try_files $uri   $uri/  /index.html;         } 		        location /api{ 			add_header 'Access-Control-Allow-Origin' '*';  			add_header 'Access-Control-Allow-Credentials' 'true'; 			add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; 			proxy_pass http://ip:8089/; 		}         location /api/v2{ 			add_header 'Access-Control-Allow-Origin' '*';  			add_header 'Access-Control-Allow-Credentials' 'true'; 			add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; 			proxy_pass http://ip:8080/; 		} 

六、访问测试

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!