Home  >  Article  >  Backend Development  >  nginx+php5.5环境装配

nginx+php5.5环境装配

WBOY
WBOYOriginal
2016-06-13 12:16:41773browse

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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn