梁恒嘉的技术专栏 全栈之路

宝贝代码部署到Linux系统

2022-09-23
NanKe

记录前后端分离项目部署到云服务器;前端使用vue,element-ui,axios,router进行开发;后端使用springboot,mybatis,MySQL进行开发;完整记录前端项目npm打包静态文件,后端项目打包jar包;前后端项目运行环境搭建,包括MySQL数据库启动,阿里云服务器与Linux系统防火墙规则开启,Nginx服务器的安装与配置

1. 启动数据库

使用命令cd /opt/mysql/support-files进入support-files目录

使用命令./mysql.server start启动MySQL服务

使用命令mysql -uroot -p,之后输入密码RvvUy9hbwdDuFKl即可进入MySQL数据库命令行

2. 创建数据库

使用SQL语句CREATE USER 'ssmdb'@'%' IDENTIFIED BY 'ssmdb'创建数据库独立用户

使用SQL语句GRANT ALL PRIVILEGES on ssmdb.* to 'ssmdb'@'%'为数据库独立用户授权

3. 阿里云开放端口

在这里插入图片描述 在这里插入图片描述

4. 运行SQL文件

在这里插入图片描述

在这里插入图片描述

5. 打包前端文件

运行命令npm run build打包前端文件,生成所需的文件在dist目录

在这里插入图片描述

6. 服务端创建文件夹

创建日志目录

在这里插入图片描述

创建上传文件目录

在这里插入图片描述

7. 打包后端jar包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8. 安装配置Nginx服务器

在这里插入图片描述

使用命令cd /usr/local/nginx-1.20.1/进入nginx解压后的目录

使用命令yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel安装依赖

使用命令./configure --prefix=/opt/nginx指定安装位置

使用命令make预编译

使用命令make install安装

使用命令cd /opt/nginx/sbin进入目录

安装成功,使用命令./nginx启动 nginx

使用命令./nginx -s reload重载配置文件

使用命令./nginx -s stop停止nginx

使用命令ps -ef | grep nginx查看 nginx 进程

在这里插入图片描述

出现下图所示,则说明Nginx部署成功

在这里插入图片描述

前后端分离的项目可能会存在跨域的问题,现在提供两个解决方法

方法一: 使用Nginx做端口代理,前端的所有请求转发到后端服务,具体Nginx配置如下图所示

使用命令vim /opt/nginx/conf/nginx.conf设置Nginx端口转发文件,如下图所示:

在这里插入图片描述

方法二: 后端解决跨域问题,之后直接在服务器放行后端端口,比如笔者的后端端口是9999,设置Linux系统防火墙,将9999端口放行

具体操作如下所示:

linux7.6系统防火墙相关设置

  1. 使用如下命令检验防火墙是否启动 firewall-cmd --state
  2. 使用如下命令检查系统已经开放的所有端口 firewall-cmd --permanent --zone=public --list-ports
  3. 使用如下命令开启 9999 端口: firewall-cmd --zone=public --add-port=9999/tcp --permanent
  4. 使用如下命令重新启动防火墙 firewall-cmd --reload
  5. 使用如下命令验证 9999 端口是否生效 firewall-cmd --zone=public --query-port=9999/tcp

防火墙的启动与关闭

systemctl start firewalld #启动防火墙
systemctl stop firewalld #停止防火墙
systemctl disable firewalld.service #禁止firewall开机启动
systemctl enable firewalld.service #设置开机启用防火墙

9. 启动Tomcat

使用命令cd /opt/apache-tomcat-9.0.37/bin进入指定目录,使用命令./startup.sh启动Tomcat

10. 项目文件上传部署

打包好的项目前后端文件放在桌面,如下图所示:

在这里插入图片描述

将前端文件上传服务器,如下图所示:

在这里插入图片描述

在这里插入图片描述

将后端文件上传服务器,如下图所示:

在这里插入图片描述

使用命令nohup java -jar news.jar > /dev/null 2> /dev/null &运行jar包文件

nohup表示即使退出终端该进程也不会被杀掉, & 放在命令到结尾,表示后台运行

/dev/null 表示空设备文件 (位桶(bit bucket)或者黑洞(black hole)的地方)

0 表示stdin标准输入

1 表示stdout标准输出

2 表示stderr标准错误

部署成功如下图所示:

在这里插入图片描述

如何在Linux系统优雅关闭Java程序,请查看:

https://blog.csdn.net/qq_42897323/article/details/128960396


下一篇 Redis基础知识

 

Content