前后端项目手动部署至服务器

1. 在服务器上配置环境

需要安装JDK、Mysql、Nginx
可以手动安装以上环境,也可以先安装docker后再拉镜像安装以上环境

2.安装完mysql后,在navicat中连接远程数据库

若连接失败,若是使用docker安装的,则排查方式:查看docker中mysql容器运行情况

3.更改nginx安装目录下的conf文件夹下的nginx.conf配置文件

第一行,将user设置为root

在这里插入图片描述
配置代理路径
在这里插入图片描述
使nginx配置文件生效

/usr/local/nginx/sbin/nginx -s reload

扩展:启动nginx

在/usr/local/nginx/sbin文件夹下  ./nginx

4. 在主分支拉最新代码并跑通,需要注意配置文件(是否为多环境)

5.前端打包

在前端项目文件夹xxxxx文件夹下执行命令行:

npm run build

此时会在xxxxx文件夹中生成dist文件夹

6.后端打包

在IDEA的项目结构中cae-back文件夹右键选择RunMaven---->cleaninstall

如果右键没有RunMaven,自己去安装插件或者可以在项目右侧Maven中先clean后install也是一样的

扩展:maven cleaninstall/install/package的区别 自己查阅

此时会在target文件夹中生成打包好的jar包

7. XShell连接服务器

8.停止之前正在运行的服务

可用的命令

netstat -tunlp    查看进程
netstat -tunlp | grep 9090    查看端口为9090的进程,可以查询端口为9090的进程的进程PID

扩展举例:netstat -nap | grep 31994  根据进程id:31994查看进程占用端口,查看对应端口为9090

ps -ef | grep 31994 据进程id查看进程信息,查看进程id为31994的进程信息,运行的是我们的jar包  
kill -9 31994 根据进程id杀死进程,杀死进程id为31994的进程

9.使用文件传输工具Xftp上传前后端打好的包

将打好的后端jar包上传至/root/后端项目文件夹,同时可以将服务器中已存在的上一个jar包后面写上日期变成不可执行文件从而备份

将前端打包好的dist文件夹上传至/root/前端文件夹中,将服务器中已存在的dist文件夹备份或删除,这里的路径一定要匹配Nginx配置文件nginx.conf中配置的路径!!!

10.启动服务

在后端文件夹下执行命令:

nohup java -jar xxxxxxxx.jar &

nginx应该已经配置好了,不需要动

浏览器查看服务器ip地址是否部署成功,部署结束。

11.错误排查

1)首页图片不显示,或其他静态资源不显示
问题原因及解决方式:重新拉新代码,本地跑通后,重新打包前端。

(2)线上接口请求不到,报超时错误(已排查,之后出现此问题的可能性比较小)
问题原因及解决方式:nginx配置发生错误,查看nginx日志并更改配置文件。

使nginx配置文件生效
/usr/local/nginx/sbin/nginx -s reload

扩展:启动nginx
在/usr/local/nginx/sbin文件夹下  ./nginx

(3)线上报500等5开头的内部错误
问题原因及解决方式:服务器运行jar包发生了错误,发生什么解决什么

查看运行jar包的日志
在cae文件下: tail -fn 500 nohup.out   查看前500行日志
			tail -n 500 nohup.out   查看后500行日志

(4)线上其他问题
可以尝试重启docker容器或查看linux服务器的文件系统的磁盘空间占用情况

(5)后期可以优化的地方
配置文件多环境化
服务器部署命令脚本

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值