Debian 7.4 中配置PHP环境

准备工作

导入密钥

wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg 

添加源

vi /etc/apt/sources.list
deb http://mirror.us.leaseweb.net/dotdeb/ stable all
deb-src http://mirror.us.leaseweb.net/dotdeb/ stable all

安装

一、安装MySql

sudo apt-get install mysql-server mysql-client
需要下载 47.9 MB 的软件包。 解压缩后会消耗掉 162 MB 的额外空间。这里获取的是5.6版本

二、安装Nginx

sudo apt-get install nginx-full
需要下载 655 kB 的软件包。 解压缩后会消耗掉 1,466 kB 的额外空间。

三、安装PHP

sudo apt-get install php5-fpm php5-gd php5-mysql
需要下载 4,039 kB 的软件包。 解压缩后会消耗掉 11.8 MB 的额外空间。

配置

配置nginx

sudo vi /etc/nginx/sites-available/default

把内容改为如下:

server {
        listen   80;
     
        root /usr/share/nginx/html;
        index index.php index.html index.htm;

        server_name localhost;

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

        error_page 404 /404.html;

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

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;               
        }
}

重启nginx

sudo service nginx restart

配置PHP

sudo vi /etc/php5/fpm/php.ini

把cgi.fix_pathinfo=1 改为 0

cgi.fix_pathinfo=0
sudo nano /etc/php5/fpm/pool.d/www.conf

把listen = 127.0.0.1:9000 改为(实际这个文件中已经是这样了,不需要更改。)

listen = /var/run/php5-fpm.sock

重启php-fpm

sudo service php5-fpm restart

测试PHP

vi /usr/share/nginx/html/phpinfo.php 
<?php
    phpinfo(); 
?>  

--2014.5.28 更新--

前两天更新了系统后再http://localhost/phpinfo.php 打不开了!

解决办法如下:

sudo vi /etc/nginx/sites-available/default

更改location:

 location ~ \.php$ {
                try_files $uri =404;
               #fastcgi_pass unix:/var/run/php5-fpm.sock;
          root /usr/share/nginx/html;
          fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

然后

sudo vi /etc/php5/fpm/pool.d/www.conf

把listen = /var/run/php5-fpm.sock 改为(这样又改回去了......)

listen = 127.0.0.1:9000

最后重启下服务:

sudo service php5-fpm restart
sudo service nginx restart

参考:https://bbs.archlinux.org/viewtopic.php?id=167817

----2014.06.18-更新---------------------

其实default文件还可以这样写:

server{
      listen   80;#服务器监听的端口
        root /usr/share/nginx/html;#文件存放路径
        server_name localhost;#匹配url地址,如hello.com;
        #访问地址(/ 根目录,上面设置的root )        
        location / {
                  try_files $uri $uri/ /index.html;      
        }
        #访问php文件的设置
        location ~\.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;   
        }
}

--END--