Nginx+PHP(FastCGI)高性能服務器
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)高性能服務器