一、env: /etc/init.d/nginx: 没有那个文件或目录

使用service nginx start 启动服务时,提示找不到文件,而文件/etc/init.d/nginx 确实存在,解决方法详见:linux出现“env: *: 没有那个文件或目录”的解决方法

二、nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory)

开启nginx服务时,报错找不到mime.types文件

[root@CentOS init.d]# service nginx restart
nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed

这里是因为我们在nginx 的启动脚本/etc/init.d/nginx 里修改了nginx配置文件 的目录:NGINX_CONF_FILE="/etc/nginx/nginx.conf" ,导致nginx.confmime.types 两个文件不在同一个目录下,系统找不到mime.types 文件报错,nginx配置文件默认在安装目录/conf/。把目录下的所有文件都复制一遍到nginx配置文件 的同级目录下即可。

三、nginx: [emerg] unknown log format "main" in /etc/nginx/nginx.conf:26

错误描述

[root@CentOS init.d]# service nginx restart
nginx: [emerg] unknown log format "main" in /etc/nginx/nginx.conf:26
nginx: configuration file /etc/nginx/nginx.conf test failed

原因分析

开启了main 格式的日志信息,但是找不到日志的格式main ,一般来说都是打开了这个选项:access_log /var/log/nginx/access.log main;

解决方法

access_log /var/log/nginx/access.log main; 的上面有个日志格式main ,默认是注释的,把这三行取消注释就OK了。

    #log_format  main  "$remote_addr - $remote_user [$time_local] "$request" "
    #                  "$status $body_bytes_sent "$http_referer" "
    #                  ""$http_user_agent" "$http_x_forwarded_for"";
最后修改:2017 年 10 月 28 日
喜欢就给我点赞吧