nginx FAQ问题总结

2017-09-07 · xiejiahe

1、nginx: [emerg] bind() to 0.0.0.0:8080 failed (13: Permission denied)。

不是权限的问题,而是selinux惹的祸, 将selinux惹的祸关闭即可

selinux临时关闭,终端输入:

setenforce 0

然后重启nginx即可

service nginx restart
输出:
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

2、nginx: [error] open() “/usr/local/var/run/nginx.pid” failed (2: No such file or directory)

重启nginx的时候报了这么个错误

解决方法

找到nginx可执行程序

root$ which nginx
/usr/local/bin/nginx

找到nginx.conf所在位置

// mac一般在
/usr/local/etc/nginx/nginx.conf

// linux一般在
/etc/nginx/nginx.conf

运行

/usr/local/bin/nginx -c /usr/local/etc/nginx/nginx.conf

重启nginx

nginx -s reload

3、反向代理上传文件报500错误

经过排查是由于 nginx 默认配置信息设置过小导致内部错误的。

编辑nginx默认配置文件 nginx.conf 修改如下:

http {
    include       mime.types;
    default_type  application/octet-stream;

    # 新增以下2条
    client_max_body_size 20000m;
    client_body_buffer_size 20000m;

}

重新启动

nginx -s reload

4、[warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead in

nginx >= 1.15.0 会有这个问题

修改配置文件, 将 ssl on; 这一行删掉, 在listen 后面加上 ssl 开启。

server {
# 修改前
#    listen 443;
#    ssl on;

    # 修改后
    listen 443 ssl;

    # ...
}
服务器
原创文章,转载请注明出处。