一、env: /etc/init.d/nginx: 没有那个文件或目录
使用service nginx start
启动服务时,提示找不到文件,而文件/etc/init.d/nginx
确实存在,解决方法详见:[linux出现“env: ***: 没有那个文件或目录”的解决方法](linux出现“env: ***: 没有那个文件或目录”的解决方法)
二、nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory)
开启nginx服务时,报错找不到mime.types文件
:
1 2 3 4 |
[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
错误描述
1 2 3 4 |
[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了。
1 2 3 4 |
#log_format main "$remote_addr - $remote_user [$time_local] "$request" " # "$status $body_bytes_sent "$http_referer" " # ""$http_user_agent" "$http_x_forwarded_for""; |
评论