麻烦在Debian 7.3上安装Nginx和php5-fpm

时间:2014-01-24 02:50:06

标签: php nginx debian

我在虚拟机中安装了Debian 7.3,我正在练习安装Nginx和php5-fpm。我得到了Nginx的工作,为它分配了一个:8080的手动端口,指向/var/www/的数据,在该目录中是index.htmlinfo.php文件。

我的Nginx的配置文件位于/etc/nginx/conf.d/default.conf,如下所示:

server {
    listen   8080;

    root /var/www;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
            try_files $uri $uri/ /index.html;
    }

    location /doc/ {
            alias /usr/share/doc/;
            autoindex on;
            allow 127.0.0.1;
            allow ::1;
            deny all;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
            root /usr/share/nginx/www;
    }

    location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass 127.0.0.1:9000;
            #fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }

    location ~ /\.ht {
            deny all;
    }
}

我尝试过两种方式改变fastcgi_pass

fastcgi_pass 127.0.0.1:9000;

以及:

fastcgi_pass unix:/var/run/php5-fpm.sock;

在我的/etc/php5/fpm/pool.d/www.conf文件中,我有以下配置:

[www]

user = www-data
 group = www-data

 listen = 127.0.0.1:9000
 ;listen = /var/run/php5-fpm.sock

在这里,我还在Nginx default.conf文件中取消注释要匹配的行。

在我的php.ini文件中,我对其进行了编辑,以便按照我见过的大多数指南的要求显示cgi.fix_pathinfo = 0

当我尝试加载nginx时,它运行正常。当我尝试运行php5-fpm时会发生这种情况:

root@debianx86:/# /etc/init.d/php5-fpm status
[FAIL] php5-fpm is not running ... failed!

root@debianx86:/# /etc/init.d/php5-fpm reload
[ ok ] Reloading PHP5 FastCGI Process Manager: php5-fpm.

root@debianx86:/# /etc/init.d/php5-fpm restart
[FAIL] Restarting PHP5 FastCGI Process Manager: php5-fpm failed!

root@debianx86:/# /etc/init.d/php5-fpm start
root@debianx86:/# /etc/init.d/php5-fpm status

[FAIL] php5-fpm is not running ... failed!
root@debianx86:/# 

然后我打开了我的虚拟机上的任何浏览器,并将它们指向127.0.0.1:8080localhost:8080,我得到了我自己制作的自定义index.html加载版本!然后我尝试加载info.php文件,然后会看到404 Not Found - nginx/1.4.4

我不明白我做错了什么。这一切都有我缺少的东西吗?

我也从sudo apt-get -y install nginxsudo apt-get -y install php5-fpm安装了nginx。他们需要的任何依赖项都会随之安装。

是否有一个脚本,我可以在Debian 7.3的全新安装上运行,有人已经为我正确安装它,并进行所有修改,以便nginx和php5-fpm启动并运行?我查看了许多带有说明的网站,除了default-sitesenabled-sites之外,我似乎做了他们所做的一切,因为这些文件夹都不存在,而我不想像那样运行我的虚拟主机。我将使用default.conf文件中列出的自己的服务器运行它们。

编辑:我甚至试过在DigitalOcean上关注这篇文章,但仍然无效。

编辑#2:我还chown -R www-data:www-data /var/www确保用户和组与www.conf文件中的信息匹配。我也试过将它改回原来的root:root规范。仍然没有。

1 个答案:

答案 0 :(得分:0)

我想也许端口9000已经被使用了,所以php5-fpm无法与该端口绑定而无法启动。

在fpm池设置中将端口9000的行与sock文件的行交换,然后尝试像你正在做的那样启动php5-fpm,如果它工作,那么你需要的只是更新nginx configuratuin到代理传递到sock文件而不是端口。