经过前面的操作,我们会发现,如果想要启动、关闭或重新加载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
开机自启 systemctl enable 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