经过前面的操作,我们会发现,如果想要启动、关闭或重新加载nginx配 置文件,都需要先进入到nginx的安装目录的sbin目录,然后使用nginx 的二级制可执行文件来操作,相对来说操作比较繁琐,这块该如何优 化?另外如果我们想把Nginx设置成随着服务器启动就自动完成启动操 作,又该如何来实现?这就需要用到接下来我们要讲解的两个知识点:
这里的解决方法是:
Nginx配置成系统服务
Nginx命令配置到系统环境
如果方便启停,第一步要创建一个ngnix.service的配置文件
这里的Unit是用来配置的描述和文档相关信息
这里的PIDFile可以用来指定相关的PID文件,这里指定的是pid相关的文件
ExecStartPre=xxxxx -t -c xxxx 这里的测试文件中-t的意思是检验 -c的意思用来指定路径
ExecStartPre=xxxxx 下面的文件主要编写了一个二进制可执行文件
如果权限有问题,需要进行一下权限设置,添加完成后如果权限有问题需要进行权限设置
chmod 755 /usr/lib/systemd/system/nginx.service
使用systemctl start nginx就可以重启启动服务器了
使用systemctl status nginx 可以查看nginx的状态
使用systemctl stop nginx 可以关闭nginx的内容
使用systemctl reload nginx,重新加载配置文件,重启,restart nginx
相关配置资料:
在 /usr/lib/systemd/system目录下添加nginx.service,内容如下:
vim /usr/lib/systemd/system/nginx.servic
[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c
/usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=default.target
添加完成后如果权限有问题需要进行权限设置
chmod 755 /usr/lib/systemd/system/nginx.service
使用系统命令来操作Nginx服务
启动: systemctl start nginx
停止: systemctl stop nginx
重启: systemctl restart nginx
重新加载配置文件: systemctl reload nginx
查看nginx状态: systemctl status nginx
开机启动: systemctl enable nginx