一、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.conf
和 mime.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"";
此处评论已关闭