`
奔跑的羚羊
  • 浏览: 570018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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.php
wget http://cn2.php.net/distributions/php-5.5.22.tar.gz


3.编译安装
tar -xvf php-5.5.22.tar.gz
cd 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=lib64

make
make 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.ini
cp /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 9000
tcp 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
<?php
phpinfo();
?>


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:9000
listen = /tmp/php-cgi/php-cgi.socket
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics