网络营销师马栓网络营销师马栓网络营销师马栓

nginx无法启动的N种常见错误情况解决教程

nginx无法启动的N种常见错误情况解决教程

注意:以下方案中的编译安装需要写入文件。如果安装了宝塔系统加固等安全软件,需要先关闭再进行,以免权限不足

情况一:报libluajit-5.1.so.2错误如图

nginx无法启动的N种常见错误情况解决教程

解决方法:
重新编译安装下nginx
依赖没有安装完整








情况二:报错:gd库问题  libgd.so.2
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:安装下依赖gd库
centos系统安装命令:

  1. yum -y install gd gd-devel

复制代码

ubuntu、debian等linux系统安装命令:

  1. apt-get install gd gd-devel

复制代码







情况三:报错提示没有这个文件/www/server/total/nginx_log.lua
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:一般将网站监控报表卸载重装一下就可以

情况四:报错:www用户问题
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:新建www用户,服务器命令行执行以下命令新建

  1. /usr/sbin/groupadd -f www

复制代码

  1. /usr/sbin/useradd -g www www

复制代码


情况五:报错libjemalloc.so.2问题
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:卸载编译方式重装一下nginx即可






情况六:报错没有这个文件enable-php.conf
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:在/www/server/nginx/conf新建一个enable-php.conf的文件。文件内容:

location ~ [^/]\.php(/|$)

{

try_files $uri =404;

fastcgi_pass  unix:/tmp/php-cgi-74.sock;

fastcgi_index index.php;

include fastcgi.conf;

include pathinfo.conf;

}




注意:文件内容的74是php版本,具体是哪个版本,就改为哪个版本,不能生搬硬套







情况七:ssl证书部署问题导致
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:将蓝色框的域名的ssl证书关闭后再重新部署

情况八:报错nginx.conf test failed
如图

nginx无法启动的N种常见错误情况解决教程

解决方法:有安装防火墙的话,卸载重装下nginx防火墙 还不行卸载用编译方式重装nginx
或者将nginx版本直接切换至nginx 1.18或者nginx 1.19








情况九:爆内存
如图

nginx无法启动的N种常见错误情况解决教程

排查方法一:
服务命令行执行以下命令看看还剩多少内存

  1. free -m

复制代码

然后修改nginx.conf

  1. vim /www/server/nginx/conf/nginx.conf

复制代码

fastcgi_cache_path /data/www/wordpress/fastcgi/ngx_fcgi_cache levels=2:2 keys_zone=ngx_fcgi_cache:500m inactive=30s max_size=5g;这行的500m改为free内存的数量即可,但是也不要一点不剩
然后保存测试下nginx的配置文件,再重启nginx试试

排查方法二:如果有安装网站加速的话,看看这里如图设置有多大,调小一些试试

nginx无法启动的N种常见错误情况解决教程









情况十:报错unknown directive
这个需要具体问题具体分析,一般报错会报具体配置文件第几行哪个指令未知
以下为解决问题实例:
报错如图:

nginx无法启动的N种常见错误情况解决教程

排查过程:经了解,用户之前用的是apache服务器,目前在使用nginx作为web服务器,因此根据截图判断,用户用了apache的伪静态
解决方法:将apache的伪静态转换成nginx的,问题解决


情况十一  端口占用导致的报错如图

解决方法:服务器命令行执行以下命令排查看看是哪个服务占用了22000端口,一般都是报错80端口被占用

  1. lsof -i:22000

复制代码

然后

  1. kii -9 PID

复制代码

注意,这个PID为占用22000端口的进程PID,记得替换,不能生搬硬套哦

红字提醒,如果进程名为sshd,mysqld等环境服务,不要kill,可操作更改端口,以免端口冲突
再重启nginx

  1. /etc/init.d/nginx start

复制代码


未经允许不得转载:网络营销师马栓 » nginx无法启动的N种常见错误情况解决教程