小编Pau*_*ick的帖子

“sudo service nginx start”失败但“sudo nginx”有效 - 不知道为什么

我有一个接近新的服务器,并且在按预期启动 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)

nginx upstart ubuntu-12.04

7
推荐指数
2
解决办法
3万
查看次数

标签 统计

nginx ×1

ubuntu-12.04 ×1

upstart ×1