首頁  >  文章  >  後端開發  >  nginx+php5.5环境装配

nginx+php5.5环境装配

WBOY
WBOY原創
2016-06-13 12:16:41773瀏覽

nginx+php5.5环境安装
1.安装依赖包

yum install -y gcc gcc-c++  make cmake* autoconf* apr apr-util libcurl* libxml2 libxml2-devel gd gd-devel  bzip2-devel freetype* ncurse*  bison*  openssl* libjpeg*


2.下载php5.5
http://www.php.net/downloads.phpwget http://cn2.php.net/distributions/php-5.5.22.tar.gz


3.编译安装
tar -xvf php-5.5.22.tar.gzcd php-5.5.22./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-bz2 --with-curl --enable-ftp--enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local--with-png-dir=/usr/local--with-freetype-dir=/usr/local--enable-gd-native-ttf --with-iconv-dir=/usr/local--enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local--with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64makemake install

备注:该参数支持,ftp,图片函数,pdo等支持,因为使用了php自带的mysqlnd,所以不需要额外安装mysql的lib库了.
如果你是64位系统,参数后面加上--with-libdir=lib64
如果PHP不需要curl和ftp的支持,可以将以上的–with-curl –enable-ftp去掉.

4.配置php
cp php.ini-production /usr/local/php5/etc/php.inicp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf


5.启动php-fpm
/usr/local/php5/sbin/php-fpm

执行以上命令,如果没报错一般情况下表示启动正常,如果不放心,也可以通过端口判断是PHP否启动
# netstat -lnt | grep 9000tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN


6.安装nginx
参考http://running.iteye.com/blog/326873

7.配置nginx
vi /usr/local/nginx/conf/nginx.conf    server {        listen       80;        #server_name  127.0.0.1;        root         /data/www/test/;        charset utf-8;        index   index.html index.php;        location /{                try_files $uri $uri/ /index.php?$args;        }        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ \.php$ {                expires -1s;                try_files $uri =404;                fastcgi_split_path_info ^(.+\.php)(/.+)$;                include fastcgi_params;                fastcgi_param PATH_INFO $fastcgi_path_info;                fastcgi_index index.php;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                fastcgi_pass 127.0.0.1:9000;        }        location ~ .*\.(jpg|JPG|jpeg|JPEG|css|bmp|gif|GIF|png|PNG)$ {                access_log off;        }    }



8.编写测试文件
cd /data/www/phptest/vi /data/www/phptest/index.php<?phpphpinfo ();?>


9、启动php-fpm 和nginx   测试
Php-fpm启动
/usr/local/php5/sbin/php-fpm

Nginx启动
/usr/local/nginx/sbin/nginx


10.php-fpm常用命令
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
php-fpm 关闭:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm进程数:
ps aux | grep -c php-fpm


11.修改为stock
nginx将会连接回环地址9000端口执行PHP文件,需要使用tcp/ip协议,速度比较慢.建议大家换成使用socket方式连接。
建立socket文件
#touch /tmp/php-cgi/php-cgi.socket

vim nginx.conf
修改:
# fastcgi_pass 127.0.0.1:9000;fastcgi_pass unix:/tmp/php-cgi/php-cgi.socket;

在php-fpm.conf中修改配置为:
#listen = 127.0.0.1:9000listen = /tmp/php-cgi/php-cgi.socket
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn