Ubuntu下Nginx的安装与配置,ubuntunginx配置


1. 安装Nginx

  (1)在线安装Nginx

[plain] view plaincopy
  1. $ sudo apt-get install nginx  

    安装成功之后,nginx放置在/etc/nginx目录下,并且已经在/etc/init.d/下创建了启动脚本;启动程序文件在/usr/sbin/nginx;日志文件放置在/var/log/nginx目录下,分别是access.log和error.log
虚拟主机配置文件放置在/etc/nginx/sites-available目录下;默认的虚拟主机的目录/usr/share/nginx/www。


  (2)启动Nginx

[plain] view plaincopy
  1. $ sudo service nginx start  

    打开浏览器输入localhost,如果看到“Welcome to nginx!”,则说明安装成功。


2. 安装php5-fpm

[plain] view plaincopy
  1. $ apt-get install php5-fpm  
    PHP5可以在nginx上通过PHP-FPM工作,PHP-FPM(FastCGI Process Manager) 是一个守护进程(init脚本文件在/etc/init.d/php5-fpm),它运行了一个FastCGI server,端口是 9000。
说明:Nginx不支持对外部程序的直接调用或解析,所有的外部程序(包括PHP)必须通过FastCGI接口调用。


3. 配置Nginx

  (1)nginx的配置文件/etc/nginx/nginx.conf

[plain] view plaincopy
  1. user www-data;           // 指定Nginx Worker 进程运行用户及用户组  
  2. worker_processes 4;      // 指定Nginx开启的进程数,每个Nginx进程平均耗费10M-20M内存  
  3. pid /var/run/nginx.pid;  // 用来指定进程id的存储文件的位置  
  4.   
  5. events {                  //用来指定Nginx的工作模式,及连接上限数  
  6.         worker_connections 768;  
  7.         # multi_accept on;  
  8. }  
  9.   
  10. http {  
  11.         ...  
  12. }  

  (2)虚拟主机被定义在server{}中,默认文件/etc/nginx/sites-available/default

[plain] view plaincopy
  1. server {  
  2.         listen   80;  
  3.   
  4.         root /usr/share/nginx/www;  
  5.         index index.php;  
  6.         server_name localhost;  
  7.   
  8.         location / {  
  9.                 try_files $uri $uri/ /index.php;  
  10.         }  
  11.   
  12.         location ~ \.php$ {  
  13.                fastcgi_split_path_info ^(.+\.php)(/.+)$;  
  14.                fastcgi_pass 127.0.0.1:9000;  
  15.                fastcgi_index index.php;  
  16.                include fastcgi_params;  
  17.         }  
  18. }  

  (3)reload使配置生效

[sql] view plaincopy
  1. $ sudo service nginx restart  


  (4)在Nginx的默认网站根目录创建一个PHP的测试文件 vim /usr/share/nginx/www/test.php

[php] view plaincopy
  1. <? php  
  2. echo 'Hello World!';  
  3. echo '<br/>';  
  4. phpinfo();  
  5. ?>  

  (5)打开浏览器输入http://localhost/test.php


大功告成


4. 配置PHP-FPM

修改 /etc/php5/fpm/php-fpm.conf 或在 /etc/php5/fpm/conf.d/下做更详细的配置。


5. 其他

  (1)如果您只安装PHP5-FPM,那么可以根据需求安装所需要的包

[plain] view plaincopy
  1. $ sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl  

  (2)修改完php相关的文件,请重启PHP-FPM,使之生效

  1. $ sudo service php5-fpm restart  

==================================== 遇到下面的问题:

访问,不成功,查看nginx错误日志,默认是放在/var/log/nginx下

cd /var/log/nginx

tail -fn100  error.log

发现:[error] 15980#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: “GET /info.php HTTP/1.1″, upstream: “fastcgi://127.0.0.1:9000″, host: “127.0.0.1″

可知是php-fpm的问题

netstat -lnp|grep 9000 (查看9000端口是否被监听)

无内容

然后各种百度,没有找到原因,指到看到一篇帖子:http://blog.sina.com.cn/s/blog_6a0b2afd01014acf.html

它提到了:/etc/php5/fpm/pool.d/www.conf

于是修改/etc/php5/fpm/pool.d/www.conf 

修改为listen=9000,重启php-fpm

搞定!aincopy




相关内容

    暂无相关文章