1),Nginx配置开机自启
- 打开配置
vi /usr/lib/systemd/system/nginx.service
- 编辑配置文件
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile= /var/run/openresty.pid
ExecStartPre=/usr/bin/rm -f /var/run/openresty.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillMode=process
KillSignal=SIGQUIT
TimeoutStopSec=5
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 重新加载
systemctl daemon-reload
- 开启开机自启
systemctl enable nginx.service
- 常用操作
#启动nginx服务
systemctl start nginx.service
#停止nginx服务
systemctl stop nginx.service
#重启nginx服务
systemctl restart nginx.service
#重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
systemctl reload nginx.service
2),自定义开机自己脚本服务
- 打开配置文件
vim /usr/lib/systemd/system/my.service
- 添加如下配置
[Unit]
Description=My Service
After=network.target
[Service]
Type=forking
User=root
Group=root
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/my
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
- 配置项说明
[Unit] #服务的说明
Description=My Service #服务的描述
After=network.target remote-fs.target nss-lookup.target #表示服务类别
[Service] #服务运行参数的设置
Type=forking #表示是后台运行的形式
User=root #该命令作用的用户
Group=root #该命令作用的用户组
ExecStart=/usr/local/bin/my #运行的命令
ExecStop= #停止的命令
ExecReload #为重启命令
PrivateTmp=True #表示给服务分配独立的临时空间
Restart=always: #只要不是通过systemctl stop来停止服务,任何情况下都必须要重启服务,默认值为no
RestartSec=5: #重启间隔,比如某次异常后,等待5(s)再进行启动,默认值0.1(s)
StartLimitInterval: 10 #无限次重启,默认是10秒内如果重启超过5次则不再重启,设置为0表示不限次数重启
注意:启动、重启、停止命令全部要求使用绝对路径
[Install]
WantedBy=multi-user.target
- 修改生效
systemctl daemon-reload
- 基本操作
# 开机启动
systemctl enable my.service
# 不自动启动
systemctl disable my.service
# 启动服务
systemctl start my.service
# 重启
systemctl restart my.service
# 检查状态
systemctl status my.service
systemctl is-active my.service(仅显示是否Active)
# 显示所有启动的服务
systemctl list-units --type=service
网友评论