看报错信息是打开/run/nginx.pid文件失败,没有这样的文件或者目录。。。。。
于是我就去/run目录下面找,真的没有。。。。。。。。
命令:cd /run
ls
既然它缺了,那我就创见一个不就好了。
命令:touch nginx.pid
创建了,里面填什么呢?这文件都是.pid应该就是它的线程ID吧,怎么查看Nginx线程ID呢?
命令:ps -ef | grep nginx
如果只有一个root标志
那就进到Nginx的根目录下把Nginx启动。
命令:cd /usr/local/nginx/sbin
./nginx
启动了就有俩个root标志的啦,记住后面带master这个的线程号。
然后vi nginx.pid,按i输入Nginx的ID号,按esc退出插入模式,输入:wq保存并退出就好啦。。。。。
然后就能重新加载啦。。。。完美收工。。。。。。
2.还有就是每次关机启动run文件夹里面Nginx.pid文件都会被删掉,每次都需要创建么?那不是很麻烦。我们可以进到/usr/lib/systemd/system文件夹找到nginx.service文件,修改一下配置。
命令:cd /usr/lib/systemd/system
vi nginx.service
配置如下:
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStartPost=/bin/sleep 0.1
ExecStart=/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
还有就是/usr/local/nginx/conf文件夹下的nginx.conf文件中pid那行的注释去掉,更改一下路径。
命令:cd /usr/local/nginx/conf
vi nginx.conf
改为:pid /usr/local/nginx/logs/nginx.pid;
并在/usr/local/nginx下创建logs文件夹。
命令:cd /usr/local/nginx或者cd ..
mkdir logs
到此,配置完成。