Ubuntu PHP-FPM 无法启动

Ubuntu PHP-FPM 无法启动

我最近在 Ubuntu 11.04 上从源代码发行版安装了 PHP 5.3.8。

这是我的配置指令的第一部分:

./configure --enable-fpm --with-fpm-user=php-fpm 
--with-fpm-group=php-fpm --prefix=/usr/local/php-5.3.8 
--exec-prefix=/usr/local/php-5.3.8 
--with-config-file-path=/usr/local/php-5.3.8/etc 
--with-config-file-scan-dir=/usr/local/php-5.3.8/etc

之后,我下载了用于 /etc/init.d/php-fpm 的 shell 脚本文件示例。我从这里获取了该脚本:http://svn.php.net/repository/php/php-src/branches/PHP_5_3/sapi/fpm/init.d.php-fpm.in。我编辑了该文件并添加了相关位置的路径,然后将内容复制到 /etc/init.d/php-fpm。

我 chmod +x php-fpm 然后尝试启动它,./php-fpm start但出现以下错误:

Starting php-fpm [07-Sep-2011 02:55:34] ERROR: bind() for address '127.0.0.1:9000' failed: Address already in use (98)

我更改了 php-fpm.conf 中的监听端口号,但仍然出现同样的错误。

我注意到的一件事是似乎没有创建 php.ini 文件。我在我的前缀 php 目录和其他地方到处寻找它。我不确定这是否是导致问题的原因。

我将非常感激任何关于如何使 PHP 运行的指导。

谢谢。

编辑:这是我使用命令时得到的结果:lsof -i -P

sshd     2267    root    3u  IPv4   3188      0t0  TCP *:22 (LISTEN)
sshd     2267    root    4u  IPv6   3190      0t0  TCP *:22 (LISTEN)
sshd    12342    root    3r  IPv4 408697      0t0  TCP WorbServer1:22->41.206.11.43.vgccl.net:30961 (ESTABLISHED)
php-fpm 12485    root    6u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12486 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12487 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12488 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12489 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12490 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12491 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12492 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12493 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12494 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12495 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12496 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12497 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12498 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12499 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12500 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12501 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12502 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12503 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12504 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)
php-fpm 12505 php-fpm    0u  IPv4 409587      0t0  TCP localhost:9000 (LISTEN)

我不确定为什么它们这么多,我必须看看 php-fpm.conf。

答案1

嗯,对于端口正在使用最简单的解释就是该端口实际上正在使用中。

你从中得到了什么lsof -i -P

答案2

您还可以使用

fuser 9000/tcp

这将列出该端口上运行的所有 pid。这是杀死它们的简单方法

fuser -k 9000/tcp

相关内容