合理地把javaWeb项目在centos7 上运行后台服务的脚本文件包括.sh与.service
时间: 2024-03-15 08:47:13 浏览: 69
可以使用 Shell 脚本结合 Systemd 来运行 Java Web 项目的后台服务。
1. 创建 Shell 脚本
在项目根目录下创建一个 start.sh 脚本,内容如下:
```
#!/bin/bash
java -jar /path/to/myapp.jar
```
其中 /path/to/myapp.jar 是你的 Java Web 项目的 jar 包路径。
2. 给脚本添加执行权限
执行以下命令给 start.sh 脚本添加执行权限:
```
chmod +x start.sh
```
3. 创建服务文件
在 /etc/systemd/system/ 目录下创建一个服务文件,例如 myapp.service,内容如下:
```
[Unit]
Description=My Java Web App
After=syslog.target
[Service]
Type=simple
User=myuser
ExecStart=/path/to/start.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
其中:
- Type=simple 表示服务的类型是简单的,即服务启动后会一直运行,直到手动停止或者发生错误;
- User 部分需要设置一个具有执行权限的用户;
- ExecStart 部分需要指定正确的 start.sh 脚本路径;
- Restart=on-failure 表示服务在发生错误时会自动重启。
4. 启动服务
执行以下命令启动服务:
```
systemctl start myapp
```
5. 设置开机启动
执行以下命令设置服务开机启动:
```
systemctl enable myapp
```
这样,当系统重启后,服务会自动启动。
注意事项:
- User 部分需要设置一个具有执行权限的用户;
- ExecStart 部分需要指定正确的 start.sh 脚本路径;
- Restart=on-failure 表示服务在发生错误时会自动重启。
- 服务文件修改后需要执行 systemctl daemon-reload 命令使修改生效。
阅读全文