解决nginx启动报错nginx: [emerg] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)
法一为通用方法法二为适用于首次启动nginx再启动报错
·
问题
重启虚拟机后,再次重启nginx报错:nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
法一
使用nginx提供的默认的pid
1.进入nginx.cnof 配置文件:cd /usr/local/nginx/conf/vim nginx.conf
2.放开注释,将#移除,键i修改自定义nginx.pid目录路径,
4.修改为pid /usr/local/nginx/logs/nginx.pid
3.键Esc进入命令模式,:wq保存退出
4.在/usr/local/nginx 目录下创键logs目录mkdir /usr/local/nginx/logs
5.启动nginx:
cd /usr/local/nginx/sbin
./nginx`
法二
1.进入加压后的nginx文件下;
2.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir /var/temp/nginx -p
- 在加压后的nginx目录下,输入如下命令进行配置,目的是为了创建makefile文件
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
4.make编译
make
5.安装
make install
6.进入sbin目录启动nginx
cd /usr/local/nginx/sbin/
./nginx
法三
根据报错将目录重新创建:
mkdir /var/run/nginx
在sbin下,重新指定nginx.conf
./nginx –c /usr/local/nginx/conf/nginx.conf
./nginx –s reload
总结
ngixn一般有两种问题发生:
1.nginx目录找不到
2.pid无效
更多推荐




所有评论(0)