好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Nginx环境下Php安装

其实很简单的事,我每次安装貌似都会走弯路,所以还是记下来吧

 

系统环境代码  

  • CentOS 5.5    
  • Nginx 1.0 .5   
  • Php 5.5 .8   

     

    1.先安装Nginx

    Nginx代码  

  • #tar -zxvf nginx-1.0 .5 .tar.gz  
  • #cd nginx-1.0 .5   
  • #./configure  
  • #make  
  • #make install  

     

    2.安装php,采用fastcgi的安装方式,顺道查了下fastcgi的优势和劣势,供参考(摘抄自网络)

    【注:我已经安装好了Mysql,因为没有太多特别的地方,所以就不做说明】

    优势

  • PHP脚本运行速度更快(3到30倍)。PHP解释程序被载入内存而不用每次需要时从存储器读取,极大的提升了依靠脚本运行的站点的性能。
  • 需要使用更少的系统资源。由于服务器不用每次需要时都载入PHP解释程序,你可以将站点的传输速度提升很高而不必增加cpu负担。
  • 不需要对现有的代码作任何改变。现有的一切都适用于PHP的FastCGI

    潜在问题

  • 对所有的子目录(/home/USERNAME/public_html/php.ini)你只有一个可用的php.ini文件。 这是优化网站代码所必需的。如果你需要多个php.ini文件以适应不同的脚本需要,你可以在任何子目录禁用PHP的快速CGI,而其余的地方则继续有 效。如果你需要这样做请联系support。
  • 你对PHP环境做的任何升级(如php.ini文件的改变)都有几分钟的延迟。这是因为为了更快的速度 你的php.ini文件已经被载入内存,而不是每次需要时再从存储器重新读取。

    我在安装的时候并没有去考虑php.ini的问题,只要考虑好php-fpm.conf就可以了

    php的安装的确是稍微不太一样,简单的说,就是作为一个单独的服务启动了

    Linux-php代码  

  • #tar -zxvf php-5.3 .8 .tar.gz  
  • #cd php-5.3 .8   
  •   
  • // 编译的时候一定要加入参数--enable-fpm  
  • #./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-mysql=/usr/local/mysql/  --with-pdo-mysql=/usr/local/mysql --enable-soap --enable-sockets --enable-zip --enable-xml --with-curl --enable-mbregex --enable-sysvsem --enable-mbstring --with-mcrypt --enable-fpm  
  • #make  
  • #make install  

     

    3.配置php和nginx

    1.使用php-fpm启动php

    Php-fpm代码  

  • #cd /usr/local/php/etc/  
  • #cp php-fpm.conf.default php-fpm.conf  
  • #vi php-fpm.conf  
  • // 找到如下几行,确保如下几行前没有";"   
  • pid = run/php-fpm.pid  
  • error_log = log/php-fpm.log  
  • listen = 127.0 .0.1 :9000   
  • pm.max_children = 50   
  • pm.start_servers = 20   
  • pm.min_spare_servers = 5   
  • pm.max_spare_servers = 35   
  • pm.max_requests = 500   

     php5.5.8版本提供了php-fpm的管理工具,可以很方便的start,stop,restart

    Php-fpm代码  

  • // 只是我个人习惯把php相关命令丢在这  
  • #cd /usr/local/php/sbin/  
  •   
  • // 在安装文件中复制该文件  
  • #cp /downloads/php-5.3 .8 /sapi/fpm/init.d.php-fpm ./  
  • #chmod 755  init.d.php-fpm  
  •   
  • // start | stop | restart  
  • #./init.d.php-fpm start  

     

    2.nginx的配置 

    Linux-nginx代码  

  • #vi /usr/local/nginx/conf/nginx.conf  
  •   
  • // 去掉之前的"#"   
  • // SCRIPT_FILENAME如果填错,则显示空白页面  
  • location ~ \.php$ {  
  •             root           html;  
  •             fastcgi_pass   127.0 .0.1 :9000 ;  
  •             fastcgi_index  index.php;  
  •             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
  •             include        fastcgi_params;  
  •         }  
  •   
  • #vi /usr/local/nginx/conf/fastcgi_params  
  •   
  • // 注释掉该行,暂时还不知道为啥  
  • #fastcgi_param  REDIRECT_STATUS    200 ;  

     启动nginx

    Linux-nginx代码  

  • #cd /usr/local/nginx/sbin/  
  •   
  • // 测试配置文件是否正确  
  • #./nginx -t  
  •   
  • // 启动  
  • #./nginx   
  •   
  • // 重新载入  
  • #./nginx -s reload  
  •   
  • // 重启  
  • #./nginx -s reopen  

     

    查看更多关于Nginx环境下Php安装的详细内容...

  •   阅读:47次