创建存放运行包的目录,这里以 ~/app 为例:

mkdir ~/app && cd ~/app

上传运行包到 ~/app 目录中。

创建 工作目录:

mkdir ~/app/resources && cd ~/app/resources

创建 demo 配置文件:

vim application.yaml

将以下内容复制到 application.yaml 文件中,并根据下面的配置说明进行配置:

server:

  # 运行端口

  port: 8090

测试运行 demo:

cd ~/app && java -jar demo.jar --spring.config.additional-location=optional:file:$HOME~/app/resources

作为服务运行

退出普通账户,登录到 root 账户:

exit

创建 demo 服务文件:

vim /etc/systemd/system/demo.service

将以下内容复制到 demo.service 文件中,并根据下面的配置说明进行配置:

[Unit]

Description=Demo Service

After=network-online.target

Wants=network-online.target



[Service]

Type=simple

User=USER

ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar JAR_PATH --spring.config.additional-location=optional:file:/home/app/resources/

ExecStop=/bin/kill -s QUIT $MAINPID

Restart=always

StandOutput=syslog
StandError=inherit
[Install]

WantedBy=multi-user.target

提示: 请确保 /usr/bin/java 是正确无误的。建议将 ExecStart 中的命令复制出来运行一下,保证命令有效。

重新加载 systemd:

systemctl daemon-reload

运行 Demo 服务:

systemctl start demo

在系统启动时启动 Demo 服务:

systemctl enable demo

最后,你可以通过下面的命令查看服务日志:

journalctl -n 20 -u demo

版本升级

备份数据,可以参考备份与恢复进行完整备份。

停止 Demo 服务:

service Demo stop

上传新版本的 Demo 运行包,覆盖原有的运行包。

启动 Demo 服务:

service Demo start

反向代理

Nginx 配置示例:

upstream demo {

  server 127.0.0.1:8090;

}

server {

  listen 80;

  listen [::]:80;

  server_name www.demo.com;

  client_max_body_size 1024m;

  location / {

    proxy_pass http://demo;

    proxy_set_header HOST $host;

    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }

}