当前位置:论坛首页 > Linux面板 > Linux面板教程

nginx启动不了的N种常见报错情况的解决教程

发表在 Linux面板2021-3-4 15:00 [复制链接] 10 28889

注意:以下解决方法中的编译安装等,需要写入文件,如果有安装宝塔系统加固等安全软件,需要关掉后,再进行,以免权限不足
(附宝塔系统加固常见问题教程https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=64723


情况一:报libluajit-5.1.so.2错误如图
luajit.png
解决方法:
重新编译安装下nginx
依赖没有安装完整








情况二:报错:gd库问题  libgd.so.2
如图
gd.png
解决方法:安装下依赖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
如图
total.png
解决方法:一般将网站监控报表卸载重装一下就可以



情况四:报错:www用户问题
如图
www.png
解决方法:新建www用户,服务器命令行执行以下命令新建
  1. /usr/sbin/groupadd -f www
复制代码
  1. /usr/sbin/useradd -g www www
复制代码






情况五:报错libjemalloc.so.2问题
如图
libjimalloc.png
解决方法:卸载编译方式重装一下nginx即可






情况六:报错没有这个文件enable-php.conf
如图
enable-php.conf.png
解决方法:在/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证书部署问题导致
如图
ssl证书问题.png
解决方法:将蓝色框的域名的ssl证书关闭后再重新部署



情况八:报错nginx.conf test failed
如图
nginx.conf test failed.png
解决方法:有安装防火墙的话,卸载重装下nginx防火墙 还不行卸载用编译方式重装nginx
或者将nginx版本直接切换至nginx 1.18或者nginx 1.19








情况九:爆内存
如图
爆内存.png
排查方法一:
服务命令行执行以下命令看看还剩多少内存
  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试试

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







情况十:报错unknown directive
这个需要具体问题具体分析,一般报错会报具体配置文件第几行哪个指令未知
以下为解决问题实例:
报错如图:
未知指令.png
排查过程:经了解,用户之前用的是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
复制代码








使用道具 举报 只看该作者 回复
发表于 2021-3-4 15:12:55 | 显示全部楼层
QQ图片20210304151248.jpg
使用道具 举报 回复 支持 反对
发表于 2021-3-4 17:24:52 | 显示全部楼层
使用道具 举报 回复 支持 反对
发表于 2021-3-4 18:50:55 | 显示全部楼层
满满的干货 支持
使用道具 举报 回复 支持 反对
发表于 2021-6-1 16:42:22 | 显示全部楼层
求解决方法?安装Nginx防火墙之后就不能重启和重载配置了,卸载后恢复正常
使用道具 举报 回复 支持 反对
发表于 2021-6-2 23:01:35 | 显示全部楼层
LouieJordan 发表于 2021-6-1 16:42
求解决方法?安装Nginx防火墙之后就不能重启和重载配置了,卸载后恢复正常
...

截图看看配置文件第一行
使用道具 举报 回复 支持 反对
发表于 2021-6-4 01:22:30 | 显示全部楼层
运维阿宏 发表于 2021-6-2 23:01
截图看看配置文件第一行

Nginx的配置文件?
使用道具 举报 回复 支持 反对
发表于 2021-6-30 14:37:36 | 显示全部楼层
LouieJordan 发表于 2021-6-4 01:22
Nginx的配置文件?

卸载免费防火墙再看看?
使用道具 举报 回复 支持 反对
发表于 2022-5-15 05:59:09 | 显示全部楼层

求解决方法,重装系统后重启nginx后结果就无法启动一直提示报错,请问这种情况改如何解决?
使用道具 举报 回复 支持 反对
发表于 2022-10-25 16:28:27 | 显示全部楼层
创建根目录失败, [Errno 13] Permission denied: '/www/wwwroot/
这种问题怎么处理
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表