云服务器中部署spring boot项目且将其在后台持续运行的一般步骤。先选择服务器,需要支持java的云服务器,如Jtti的新加坡云服务器。操作系统指定为Linux Ubuntu或CentOS。需要在云服务器上线安装JavaScript环境。建议使用JDK 8或者更高版本:
sudo apt update
sudo apt install openjdk-11-jdk
安装后通过java version和javac version命令检查JavaScript的版本。
把所需spring boot项目上传到jar包到服务器上。可以用scp命令完成:
scp your-app.jar username@your-server-ip:/path/to/destination
运行spring boot项目:
java -jar your-app.jar
保证项目的运行,需要用nohup:
nohup java -jar your-app.jar > app.log 2>&1 &
可以把输出重定向到app.log文件中,并在后台持续运行关闭终端链接也不会出现中断。可以选用system管理工具来管理项目,先创建systemdfw文件:
[Unit]
Description=Your Spring Boot Application
After=network.target
[Service]
User=your-username
ExecStart=/usr/bin/java -jar /path/to/your-app.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target重新加载systemd配置启动服务:
sudo systemctl daemon-reload
sudo systemctl start your-app
设置开机自启:
sudo systemctl enable your-app
查询服务状态:
sudo systemctl status your-app
安装supervisor
sudo apt install supervisor
创建supervisor
的配置文件:
[program:your-app]
command=/usr/bin/java -jar /path/to/your-app.jar
directory=/path/to/your-app
autostart=true
autorestart=true
stderr_logfile=/var/log/your-app.err.log
stdout_logfile=/var/log/your-app.out.log
user=your-username
更新并配置自启:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start your-app
配置防火墙和端口,如应用运行在8080:
sudo ufw allow 8080/tcp