nginx+php安裝配置

測試環境:centos-2.6.32.x86_64+nginx-1.2.5+php-5.4.6

總體來說nginx的有以下八大優點:

1.高併發連接:官方測試能支撐5萬併發連接,在實際生產環境中跑到2,~3W併發連接。

2.內存消耗少:在3W併發連接下,開啓的10個NGINX進程才消耗150M內存(15M*10=150M)

3.配置文件非常簡單:風格跟程序一樣通俗易懂。

4.成本低廉:Nginx作爲開源軟件,可以免費使用,而購買F5 BIG-IP、NetScaler

等硬件負載均衡交換機則需要十多萬至幾十萬人民幣。

5.支持rewrite重寫規則:能夠根據域名、URL的不同,將HTTP請求分發到不同的後端服務器羣組。

6.內置的健康檢查功能:如果Nginx Proxy後端的後臺web服務器宕機了,不會音響前端訪問。

7.節省帶寬:支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭。

8.穩定性高:用於反向代理,宕機的概率微乎其微。

nginx安裝配置:
安裝前準備環境:
yum install gcc openssl-devel pcre-devel lib-devel openssl  
下載PCRE:

添加用戶www:
useradd www

安裝:
安裝PCRE:
cd /data/tools/pcre-8.32
./configure
make && make install

安裝nginx
 ./configure --user=www --group=www  --prefix=/data/app/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-pcre=../pcre-8.32 && make && make install

修改配置文件:
 cp nginx.conf.default  nginx.conf
增加PHP解析配置:
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /data/app/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }

設置開機自啓:
vi /etc/rc.d/rc.local ,添加如下內容:
/data/app/nginx/sbin/nginx  &
或:
添加服務列表,並設置開機自動啓動  
#chkconfig --add nginx  
#chkconfig nginx on 

查看配置文件:
[root@dns02 conf]# ps -ef|grep nginx
root       990     1  0 Feb27 ?        00:00:00 nginx: master process /data/app/nginx/sbin/nginx
www      21052   990  0 15:51 ?        00:00:00 nginx: worker process     
www      21053   990  0 15:51 ?        00:00:00 nginx: worker process     
www      21054   990  0 15:51 ?        00:00:00 nginx: worker process     
www      21055   990  0 15:51 ?        00:00:00 nginx: worker process     

默認測試頁面:
常用命令:
關閉nginx:
./nginx -S stop
pkill -9 nginx(關閉所有nginx進程)
重新加載不重啓nginx:
./nginx -s reload
平滑重啓nginx:
kill -HUP Nginx 主進程號
或kill -HUP ‘cat /Data/app/nginx/nginx.pid’
檢查配置文件:./nginx -t
開放防火牆80端口:
 /sbin/iptables -I INPUT   -p tcp --dport 80 -j ACCEPT 
----------------------------------------------------------------------------------------------

PHP安裝配置:
配置基礎環境:yum install bzip* libxml*  curl curl-devel  libpng* libxslt-devel(即使如此,也可能還會缺少其它庫或軟件)

編譯:
'./configure'  '--prefix=/data/app/php' '--with-openssl' '--with-kerberos' '--enable-mbstring' '--enable-exif' '--enable-calendar' '--with-curl' '--disable-debug' '--enable-inline-optimization' '--enable-ctype' '--with-bz2' '--with-zlib' '--with-gd' '--with-gettext' '--enable-force-cgi-redirect' '--with-iconv=/usr/local/libiconv' '--enable-gd-native-ttf' '--enable-sockets' '--with-xsl' '--enable-fastcgi' '--with-ldap' '--with-ldap-sasl' '--with-xmlrpc' '--with-jpeg-dir=/usr/local/jpeg' '--with-png-dir=/usr/lib64' '--enable-ctype' '--with-bz2' '--with-zlib' '--with-gd' '--with-iconv' '--with-libxml-dir=/usr/lib64' '--with-config-file-path=/data/app/php/etc' '--enable-fpm'

一路遇到各種報錯,編譯報錯解決辦法:
configure: error: Cannot find ldap libraries in /usr/lib.
解決: cp -frp /usr/lib64/libldap* /usr/lib/
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 d
解決:yum install libxslt-devel
configure: error: jpeglib.h not found.
解決:yum install libjpeg*
configure: error: Cannot find ldap.h
解決:yum install  openldap openldap-devel

修改配置文件:
複製:cp php-fpm.conf.default php-fpm.conf
修改:
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35

啓動PHP:
/data/app/php/sbin/php-fpm &
添加到啓動項:
vi /etc/rc.d/rc.local ,添加如下內容:
/data/app/php/sbin/php-fpm &

查看進程:
[root@dns01 etc]# ps -ef|grep php
root      1217     1  0 11:08 ?        00:00:00 php-fpm: master process (/data/app/php/etc/php-fpm.conf)
nobody    1218  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1219  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1220  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1221  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1222  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1223  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1224  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1225  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1226  1217  0 11:08 ?        00:00:00 php-fpm: pool www         
nobody    1227  1217  0 11:08 ?        00:00:00 php-fpm: pool www         


測試PHP頁面php.php:
php信息:
<? phpinfo(); ?>
至此已基本完成環境部署。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章