1. 程式人生 > >Nginx+PHP(FastCGI)高性能服務器

Nginx+PHP(FastCGI)高性能服務器

serve nload string 執行 status 修改 源碼 net .gz

Nginx+FastCGI安裝配置:

yum install pcre-devel pcre –y

#下載Nginx源碼包

cd /usr/src

wget -c http://nginx.org/download/nginx-1.6.2.tar.gz

#解壓Nginx源碼包

tar -xzf nginx-1.6.2.tar.gz

#預編譯Nginx

useradd www ;./configure --user=www --group=www --prefix=/usr/local/nginx --with-

http_stub_status_module --with-http_ssl_module

#.configure預編譯成功後,執行make命令進行編譯

make

#make執行成功後,執行make install 正式安裝

make install

#自此Nginx安裝完畢

/usr/local/nginx/sbin/nginx -t 檢查nginx配置文件是否正確,返回OK即正確。

[[email protected] ~]# /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[[email protected] ~]#

然後啟動nginx,/usr/local/nginx/sbin/nginx 回車即可。查看進程是否已啟動:

[[email protected] ~]# ps -ef |grep nginx

nobody 5381 30285 0 May16 ? 00:04:31 nginx: worker process

root 30285 1 0 2014 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx

root 32260 32220 0 12:34 pts/0 00:00:00 grep nginx

[[email protected] ~]#

1) 下載安裝並編譯PHP

wget http://museum.php.net/php5/php-5.3.10.tar.gz

yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql mysql-devel(一般數據庫是分開的)

2) 進入php目錄進行編譯安裝:

cd php-5.3.10

./configure --prefix=/usr/local/php5 --enable-fpm --enable-debug --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-curl --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config

(這裏數據庫要是源碼安裝 編譯路徑要改 例外mysql在別的機器這裏就--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd)

make && make install

cp php.ini-development /usr/local/php5/lib/php.ini

cp /usr/local/php5/etc/php-fpm.conf.default

/usr/local/php5/etc/php-fpm.conf

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

3) Ninx配置文件設置conf/nginx.conf:

server {

server_name www.jfedu.net jfedu.net;

location / {

index index.html index.php;

root /usr/local/nginx/html;

}

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

include fastcgi_params;

}

}

然後我們要修改php.ini 的時間

技術分享圖片

下面我們就要啟動PHP-FPM

#/usr/local/php5/sbin/php-fpm 我這裏用的是5.6的 一般這裏啟動不會報錯的)

技術分享圖片

在啟動PHP-FPM時會報上面這個錯誤,原因是PHP-FPM自己不知道以那個用戶和組運行PHP,所以我們要修改一個文件,把文件中的註釋去掉即可(打開文件把紅色部分刪除),然後PHP-FPM會以nobody用戶和組去運行PHP。

#vi /usr/local/php5/etc/php-fpm.conf

技術分享圖片

#/usr/local/php5/sbin/php-fpm

技術分享圖片

4) 測試Nginx+PHP整合結果

cat >> /usr/local/nginx/html/index.php << EOF

<?php phpinfo(); ?>

EOF

技術分享圖片

Nginx+PHP(FastCGI)高性能服務器