ubuntu下nginx+php5环境的部署和centos系统下的部署稍有不同,废话不多说,以下为操作记录:
1)nginx安装
[email protected]:~# sudo apt-get update && sudo apt-get upgrade
[email protected]:~# sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential openssl libssl0.9.8 libssl-dev
[email protected]:~# wget http://nginx.org/download/nginx-1.8.0.tar.gz
[email protected]:~# tar -zxvf nginx-1.8.0.tar.gz
[email protected]:~# cd nginx-1.8.0
[email protected]:~# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
[email protected]:~# make && make install
2)php5的安装
add-apt-repository 命令是 apt 源的添加,ppa 就是软件对应的源,在官网上可以找到
[email protected]:~# sudo add-apt-repository ppa:ondrej/php5-5.6
如果上面命令执行后报错和没有发现命令则执行
[email protected]:~# sudo apt-get install Python-software-properties
[email protected]:~# sudo apt-get update
[email protected]:~# sudo apt-get install php
[email protected]:~# php5 -v
安装好php后,在nginx里添加对接php的配置后,访问.php文件会报错502!
这是因为nginx中访问.php文件的请求都交给php-fpm程序处理的,php-fpm监听9000端口
所以还有启动php-fpm程序。
安装php-fpm
[email protected]:~# apt-get install php5-fpm php5-gd php5-cli php5-curl php5-mcrypt php5-mysql php5-readline
启动php-fpm
[email protected]:~# service php5-fpm start
[email protected]:~# ps -ef|grep php5-fpm
[email protected]:~# lsof -i:9000
但是发现php5-fpm启动后,9000端口却没有起来!这是为什么?
这是因为php-fpm有两种监听方式:一种是.sock文件方式,另一种是9000端口方式
修改办法:
[email protected]:~# vim /etc/php5/fpm/pool.d/www.conf
.....
;listen = /var/run/php5-fpm.sock //注释这行,这是默认的监听方式
listen = 9000 //改为监听9000端口方式
重启php-fpm
[email protected]:~# service php5-fpm restart
[email protected]:~# lsof -i:9000 //发现9000端口已经起来了