项目部署流程:

  1. 先下载一个supervisor软件,这个软件可以管理部署的springboot应用。
  2. 项目打成jar包,放在/mnt下面
  3. 在/etc/supervisord.d目录下面创建配置文件,作用是编写启动项目命令,jar包位置,日志输出位置
  4. 在/etc/nginx/*.conf下面创建nginx的配置文件,这个nginx配置文件作用是域名访问,端口转发

提示:后端项目部署需要jdk和mysql环境,jdk在服务器安装就好了,我的mysql是在docker安装

下载xterminal

服务器安装supervisor

1
2
3
yum install -y supervisor
systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务

重启所有配置文件和服务

1
supervisorctl reload

查看正在运行的应用在线状态

1
supervisorctl status 

启动一个应用

1
supervisorctl start 应用名字

停止一个应用

1
supervisorctl stop 应用名字

更新修改过的配置文件

1
2
supervisorctl reread
supervisorctl update

丢jar包

在/mnt目录下面新建一个jar的目录,把打包好的springboot应用放上去

nginx配置,在etc的conf下面的

配置文件

在/etc/supervisord.d目录下面新建*.ini文件,然后写入下面代码,主要内容有:项目名称,jar包目录,jar包启动命令,日志输出目录

1
2
3
4
5
6
7
8
[program:ppoapi]
directory = /mnt/jar/
command = java -jar -Dspring.profiles.active=test ppoapi.jar
autorestart = true
startsecs = 1
stdout_logfile_maxbytes = 50MB
stdout_logfile_backups = 20
stdout_logfile = /mnt/jar/ppoapi.log

nginx转发

在/etc/nginx目录下面的conf.d下面创建*.conf文件,利用nginx的请求转发,直接通过域名访问后端接口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
server {
# listen 80;
listen 443 ssl;
server_name zouwen.xin;
root /home/www/website;

ssl_certificate "/home/ssl/zouwen.xin.pem";
ssl_certificate_key "/home/ssl/zouwen.xin.key";

# 后端请求
location /demo/ {
proxy_pass http://127.0.0.1:9001/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 后端请求
location /ppoapi/ {
proxy_pass http://127.0.0.1:9000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

# location ~ /door/ {
# index index.html;
# root /mnt/home/granary-door-web/build/;
# try_files $uri $uri/ /door/index.html =404;
# }

# 配置项
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /mnt/home/logs/zouwen.log;
error_log /mnt/home/logs/error.log;
}