每当我尝试启动 nginx 时,我都会得到以下输出。
/etc/init.d/nginx start
Starting nginx: [emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: bind() to [::]:80 failed (98: Address already in use)
[emerg]: still could not bind()
nginx.
但是,端口 80 上没有任何内容被监听。当我运行 lsof -i :80 时,什么也没有得到。
我也在运行 php-fpm,我认为这可能与它有关,但正如我所说,lsof 并不表明 php-fpm 相关。
有人知道要寻找什么吗?
答案1
尝试在命令行上手动启动 nginx,看看是否遇到同样的问题。尝试使用干净的配置文件,然后慢慢添加更改。也许这只是一个配置问题。
答案2
很明显,但你永远不知道:你是以 root 身份启动还是通过 sudo 启动?只有 root 可以绑定到 <1024 的端口。
答案3
原来是配置文件的问题。配置文件问题报告为与此无关的无法绑定到端口,这有点令人不安。
答案4
我猜是 Apache 占用了它。我很确定 PHP 没有它就无法运行。我对 PHP 配置不太有信心。这是我找到的一个可能有帮助的链接。http://www.howtoforge.com/nginx_php5_fast_cgi_xcache_ubuntu7.04
我希望这会有所帮助。