首页 > Linux, Unix > Linux/Unix系统下nginx+php安装简明教程

Linux/Unix系统下nginx+php安装简明教程

2013年4月21日 发表评论 阅读评论
一、安装nginx:
1. 安装pcre库,nginx的rewrite模板需用到pcre库:
  1. mkdir -p /works  
  2. cd /works  
  3. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.20.tar.gz  
  4. tar -zxvf pcre-8.20.tar.gz  
  5. ./configure  
  6. make && make install  
  7. cd ..  

2. 安装nginx:
  1. wget http://nginx.org/download/nginx-1.0.10.tar.gz  
  2. tar -zxvf nginx-1.0.10.tar.gz  
  3. cd nginx-1.0.10  
  4. ./configure  
  5. make && make install  
  6. cd ..  
3. 新建用户和组:
  1. groupadd www  
  2. useradd -r -g www www  
二、安装PHP5
1. 安装依赖包:
  1. libcurl:  
  2. wget http://curl.haxx.se/download/curl-7.23.1.tar.gz  
  3. tar -zxvf curl-7.23.1.tar.gz  
  4. cd curl-7.23.1/  
  5. ./configure  
  6. make && make install  
  7. cd ..  

libxml2:

  1. wget ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz  
  2. tar -zxvf libxml2-2.7.6.tar.gz  
  3. cd libxml2-2.7.6  
  4. ./configure  
  5. make && make install  
  6. cd ..   

libxslt:

  1. wget ftp://xmlsoft.org/libxml2/libxslt-1.1.24.tar.gz  
  2. tar -zxvf libxslt-1.1.24.tar.gz  
  3. cd libxslt-1.1.24  
  4. ./configure  make && make install  
  5. cd ..   

freetype:

  1. wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.6.tar.gz  
  2. tar -zxvf freetype-2.4.6.tar.gz  
  3. cd freetype-2.4.6  ./configure  
  4. make && make install  
  5. cd ..  

libpng:

  1. wget "http://prdownloads.sourceforge.net/libpng/libpng-1.5.6.tar.gz?download" 
  2. tar -zxvf libpng-1.5.6.tar.gz  
  3. cd libpng-1.5.6  ./configure  
  4. make && make install  
  5. cd ..  

libjpeg:

  1. wget http://ijg.org/files/jpegsrc.v8c.tar.gz  
  2. tar -zxvf jpegsrc.v8c.tar.gz  
  3. cd jpeg-8c/  
  4. ./configure  
  5. make && make install  
  6. cd ..  
2. 安装php5和php-fpm:
  1. wget http://museum.php.net/php5/php-5.2.16.tar.gz  
  2. wget http://php-fpm.org/downloads/php-5.2.16-fpm-0.5.14.diff.gz  
  3. tar -zxvf php-5.2.16.tar.gz   
  4. gunzip php-5.2.16-fpm-0.5.14.diff.gz   
  5. cd php-5.2.16/  
  6. patch -p1 < ../php-5.2.16-fpm-0.5.14.diff  
  7.  
  8. ./configure \  
  9. --with-curl \  
  10. --enable-calendar \  
  11. --with-xsl \  
  12. --with-libxml-dir \  
  13. --enable-ftp \  
  14. --with-gd \  
  15. --with-freetype-dir \  
  16. --with-jpeg-dir \  
  17. --with-png-dir \  
  18. --enable-mbstring \  
  19. --with-zlib \  
  20. --enable-shared \  
  21. --with-mysql \  
  22. --enable-fastcgi \  
  23. --enable-fpm   
  24. ./configure && make && make install  

修改php-fpm的配置文件/usr/local/etc/php-fpm.conf,设置执行php-fpm的用户和组名:
大约在第62行:

  1. unix user of processes  
  2. <!--<value name="user">nobody</value>-->                              
  3. Unix group of processes  
  4. <!--<value name="group">nobody</value>-->  

修改为:

  1. Unix user of processes  
  2. <value name="user">www</value>                            
  3. Unix group of processes  
  4. <value name="group">www</value> 

启动php-fpm:

  1. /usr/local/sbin/php-fpm start  
  2. lsof -i:9000  
  3. netstat -ant|grep 9000    
  4. #9000为php-fpm的默认端口,可以在/usr/local/etc/php-fpm.conf中修改。  

修改nginx配置文件/usr/local/nginx/conf/nginx.conf,我的nginx配置文件如下:

  1. worker_processes  10;  
  2. events {  
  3.     worker_connections  1024;  
  4. }  
  5. http {  
  6.     include       mime.types;  
  7.     default_type  application/octet-stream;  
  8.     sendfile        on;  
  9.     keepalive_timeout  65;  
  10.     gzip  on;  
  11.     server {  
  12.         listen       80;  
  13.         server_name  ead;  
  14.  root /data/faceshow/www;  
  15.         location / {  
  16.             root   html;  
  17.             index  index.php index.html index.htm;  
  18.         }  
  19.         error_page   500 502 503 504  /50x.html;  
  20.         location = /50x.html {  
  21.             root   html;  
  22.         }  
  23.    
  24.  #此段代码为关键  
  25.         location  ~ \.php$ {  
  26.             fastcgi_pass   127.0.0.1:9000; #对应php-fmp的端口  
  27.             fastcgi_index  index.php;  
  28.             fastcgi_param  SCRIPT_FILENAME  /data/faceshow/www/$fastcgi_script_name;    
  29.          #php文件的物理路径  
  30.             include        fastcgi_params;  
  31.         }  
  32.    
  33.  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  
  34.      {  
  35.         expires      30d;  
  36.      }  
  37.      location ~ .*\.(js|css)?$  
  38.      {  
  39.         expires      1h;  
  40.      }      
  41.     }  
  42. }  
  43.  

启动nginx:

  1. /usr/local/nginx/bin/nginx   
  2. /usr/local/nginx/bin/nginx -s reload  
三、常见问题:

问题: nginx ./configure时报如下错误

  1. ./configure: error: the HTTP rewrite module requires the PCRE library.  
  2. You can either disable the module by using --without-http_rewrite_module  
  3. option, or install the PCRE library into the system, or build the PCRE library  
  4. statically from the source with nginx by using --with-pcre=<path> option.  

解决:这是由于未PCRE库,请安装PCRE库在运行./configure。也可以使用带--without-http_rewrite_module参数进行./configure,但是这将导致nginx不支持rewrite功能!

四、相关文件下载地址:

libcurl: http://curl.haxx.se/download.html
libxml2: ftp://xmlsoft.org/libxml2/
libxslt: ftp://xmlsoft.org/libxml2/
libpng: http://www.libpng.org/pub/png/libpng.html
libjpeg: http://ijg.org/files/
freetype:http://download.savannah.gnu.org/releases/freetype/
pcre:http://www.pcre.org/

nginx:http://nginx.org/en/download.html
php-fpm:http://php-fpm.org/
php5:http://www.php.net/releases/
MySQL:http://www.mysql.com/downloads/mirror.php?id=404683#mirrors

分类: Linux, Unix 标签: , ,
  1. 本文目前尚无任何评论.
  1. 2013年12月22日02:32 | #1
  2. 2014年6月2日03:35 | #2
  3. 2014年6月4日09:05 | #3
  4. 2014年6月7日21:56 | #4
  5. 2014年6月8日20:46 | #5
  6. 2014年6月22日15:22 | #6
  7. 2014年6月30日08:40 | #7
  8. 2014年6月30日22:21 | #8
  9. 2014年7月8日13:31 | #9
  10. 2014年7月10日11:53 | #10
  11. 2014年7月27日16:38 | #11
  12. 2014年8月9日15:56 | #12
  13. 2014年8月18日04:30 | #13
  14. 2014年8月26日21:34 | #14
  15. 2014年9月11日18:20 | #15
  16. 2014年10月1日01:22 | #16
  17. 2014年10月16日11:32 | #17
  18. 2014年10月19日22:01 | #18
  19. 2014年10月24日14:18 | #19
  20. 2014年10月25日04:16 | #20
  21. 2014年10月28日15:14 | #21
  22. 2014年10月28日17:13 | #22
  23. 2014年11月5日09:15 | #23
  24. 2014年11月7日11:52 | #24
  25. 2014年11月11日11:36 | #25