一、设置 Jar 包开机自启动
假设我们的 jar 包在 /home/test/
目录下,
同时在这个目录下创建启动脚本
touch start.sh
里面的内容如下:
#!/bin/bash
export JAVA_HOME=/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
cd /home/test/
nohup java -jar xxx.jar >> /home/test/xxx.log 2>&1 &
注意: 里面的环境变量是必须的,将/opt/jdk1.8
改成你自己的路径,cd /home/test/
这一步也不能少,还有 #!/bin/bash
这一行
给脚本赋予权限
chmod 777 start.sh
手动测试一下 start.sh
,然后 ps -ef | grep xxx.jar
, 查看是否能正常启动。
若上述步骤正常,说明 jar 包和脚本都正确,
接下来设置开机自启动:
首先,我们去 /etc/systemd/system
目录下新建一个 start-jar.service
文件,xxx 就是自定义的服务名称
cd /etc/systemd/system
touch start-jar.service
在文件中写入以下内容:
[Unit]
Description=xxx
After=network.target
[Service]
Type=forking
ExecStart=/home/test/start.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
其中:
Description:服务的描述
After:设置在某个服务启动后启动
[Service] 服务参数配置
ExecStart 服务运行执行的命令,放上面创建的脚本位置
[Install] 服务安装的相关设置,可设置为多用户
根据需要,自己修改 Description 和 ExecStart 的内容即可(ExecStart后面的java命令需要全路径)
设置权限:
chmod 777 start-jar.service
设置开机自启动
systemctl daemon-reload
systemctl enable start-jar.service
自己可以 systemctl start start-jar
试一下能否启动成功。
启动成功之后可以查看下服务状态:
systemctl status start-ytb.service
此时启动成功说明脚本没有问题。建议使用下面命令查看自启动是否设置成功:
systemctl list-unit-files | grep start-ytb.service
如果是 enabled 则说明设置成功。如果是 static 则设置自启动失败。
二、设置 MinIO 开机自启动
步骤和上面的设置 jar 自启动一样,不一样的就是启动脚本:
#!/bin/bash
export MINIO_ACCESS_KEY=ytbfile
export MINIO_SECRET_KEY=wIsc0m-1ng
/root/minio/minio server /data
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/root/minio/
ExecStart=/root/minio/start.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
三、设置 Nginx 开机自启动
如果用 yum install 命令安装的,yum命令会自动创建nginx.service文件,直接用命令
systemcel enable nginx.service
如果使用源码手动编译的则需要手动创建 nginx.service
服务文件。
1.在系统服务目录里创建nginx.service文件
vi /lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存退出。
2.设置开机启动
systemctl enable nginx.service
四、补充
可以使用这个命令来查看服务启动日志
journalctl -u 服务名
例如:
journalctl -u start-jar.service