问题

重启虚拟机后,再次重启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
  1. 在加压后的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无效

Logo

一站式 AI 云服务平台

更多推荐