我有一个接近新的服务器,并且在按预期启动 nginx 时遇到问题。我已经以基本相同的方式配置了另一台服务器,它在那里工作。我想这两者之间肯定存在一些环境差异,但我一直没能找到它。
简短版本:
Starts - sudo nginx
Fails - sudo service nginx start
Fails - sudo service nginx restart
works - sudo service nginx stop
Run Code Online (Sandbox Code Playgroud)
当命令失败时,他们实际上并没有说什么:
* Restarting nginx nginx [fail]
Run Code Online (Sandbox Code Playgroud)
日志文件中没有其他内容(nginx[访问或错误]、系统日志)或写入屏幕
更多细节:
都说配置文件没问题
sudo service nginx configtest
sudo nginx -t
Run Code Online (Sandbox Code Playgroud)
我检查了 nginx.conf 的权限,它们没问题(与工作服务器相同)再次检查 www-data 是否可以访问日志文件等,确实如此
/etc/init.d/nginx 文件在两台服务器上是相同的,所使用的命令也是如此(见上文)
日志文件确实存在
用户/组 www-data 确实存在
Ubuntu 12.04 LTS
nginx 1.6
在每个服务器上运行请求的 - sudo strace service nginx start 除了下面的第一部分之外,我在两个不同的服务器上看到的唯一其他区别是指针和 PID 之类的东西。我在每组的两行前面加上了 ***
==== 那个有效的
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd6076a09d0) = 24394
close(4) = 0
*** …
Run Code Online (Sandbox Code Playgroud)