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:
wget  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.zip
wget   http://nginx.org/download/nginx-1.2.5.tar.gz

添加用户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(); ?>
至此已基本完成环境部署。

你可能感兴趣的:(nginx,PHP,LNMP)