我最近从 Apache2 切换到 nginx。
我已经设置了一切,当我sudo nginx -t
说一切都很好时。
但是当我这样做时nginx -t
,出现以下错误:
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2012/10/24 12:22:16 [warn] 23075#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2012/10/24 12:22:16 [emerg] 23075#0: SSL_CTX_use_PrivateKey_file("/etc/ssl/private/myapp.key") failed (SSL: error:0200100D:system library:fopen:Permission denied error:20074002:BIO routines:FILE_CTRL:system lib error:140B0002:SSL routines:SSL_CTX_use_PrivateKey_file:system lib)
以下似乎也可以重新启动而不会出现任何错误:
sudo service nginx reload
sudo service nginx restart
sudo service php5-fpm restart
这是预期的吗?
是的,如果您
nginx -t
以非特权用户身份运行,这是可以预期的。使用 运行命令时sudo(8)
,您以 root 用户身份运行它们,您将有权打开日志文件,而您作为个人用户似乎没有这些文件。nginx -t
应该以与您启动 nginx 相同的用户身份运行以获得正确的结果。