配置开机自启动,注册systemctl服务
安装环境:CentOS7 64位、nginx1.20.1
获取上面信息, 命令如下:
首先获取linux系统是多少位, 直接使用命令
getconf LONG_BIT
其次获取CentOS版本, 直接使用命令:
lsb_release -a
最后获取nginx的版本直接使用命令:
nginx -version
完整操作步骤截图:
1.例子1:注册nginx的systemctl服务,设置nginx开启自启动
(1)注册systemctl服务
在/usr/lib/systemd/system目录下创建nginx.service
vim /usr/lib/systemd/system/nginx.service
内容如下:
需要添加配置如下:
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s quit
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
(2)重点说明下修改的地方
1, ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ; 说一下变量值是怎么来的; 前面部分/usr/sbin/nginx是通过ps -ef | grep ngxin得到的
也就是master process后面的路径就是前半部分的值 -c 千万记住前后各有一个空格, 这是固定写法, 接下来说下后半部分的值是怎么来的, 后半部分的值通过查找nginx配置文件的路径获取, 通过命令find / -name nginx.conf
2, ExecReload=/usr/sbin/nginx -s reload; 前半部分和ExecStart的保持一致即: /usr/sbin/nginx; 后半部分固定写法
3.ExecStop=/usr/sbin/nginx -s quit ; 前半部分依然和ExecStart的保持一致, 后半部分 -s quit固定写法
(3)配置完成后
3.1.设置开机自启动
systemctl enable nginx
3.2.启动nginx服务
systemctl start nginx.service
3.3.重新启动服务
systemctl restart nginx.service
3.4,查看服务当前状态
systemctl status nginx.service
3.5停止开机自启动
systemctl disable nginx.service
依次执行 3.1、3.2、3.3标注的命令, 紧接着执行重启linux系统的命令reboot
最后通过 3.4对应的命令systemctl status nginx.service查看nginx服务的状态就能知道nginx有没有设置开机自启动成功啦: 命令操作如下:
很明显, 系统重启后等待片刻nginx.service自启动配置成功!
还有一种方式查看设置nginx开机自启动是否成功, 那就是如果项目已经页面已经配置好了, 直接在重启等待片刻后查看页面是否正常访问可以得知, 如果重启后页面正常访问, 那也能说明nginx设置开机自启动成功了,好了今天的文章就先写到这, 我是枫哥和java, 欢迎关注点赞评论留言, 更多精彩实战开发干货, 请待后续更新, 谢谢!