方式一:Systemd创建守护进程
我们只需要新增一个配置文件即可,也就是使用 Systemd
来完成这些工作。
springboot打包好的jar包, 比如 weoj.jar 下面我们来创建他的守护进程
# 创建 weoj.service sudo vim /etc/systemd/system/weoj.service
在里面插入
[Unit] Description=Weoj Service Documentation=https://xxx.xxx After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar # YOUR_JAR_PATH # ExecStop=/bin/kill -s QUIT $MAINPID Restart=always StandOutput=syslog StandError=inherit [Install] WantedBy=multi-user.target
参数:
- -Xms256m:为 JVM 启动时分配的内存,请按照服务器的内存做适当调整,512 M 内存的服务器推荐设置为 128,1G 内存的服务器推荐设置为 256,默认为 256。
- -Xmx256m:为 JVM 运行过程中分配的最大内存,配置同上。
- YOUR_JAR_PATH:Halo 安装包的绝对路径,例如
/www/wwwroot/weoj.jar
。
# 修改 service 文件之后需要刷新 Systemd sudo systemctl daemon-reload # 使 weoj 开机自启 sudo systemctl enable weoj # 启动 weoj sudo service weoj start # 重启 weoj sudo service weoj restart # 停止 weoj sudo service weoj stop # 查看 weoj 的运行状态 sudo service weoj status
方式二:nohup 和 &(推荐)
application.properties 为配置文件 里面可以修改端口信息
# 服务端口
server.port=8888
# 数据库信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/exam?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
进入上面的路径
保证exam.jar 和 application.properties 同一个路径下。
部署
exam.log 为日志输出
nohup java -jar weoj.jar >exam.log 2>&1 &