Ubuntu下Nginx的安装与配置,ubuntunginx配置
Ubuntu下Nginx的安装与配置,ubuntunginx配置
1. 安装Nginx
(1)在线安装Nginx
[plain] view plaincopy
- $ 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- $ sudo service nginx start
打开浏览器输入localhost,如果看到“Welcome to nginx!”,则说明安装成功。
2. 安装php5-fpm
[plain] view plaincopy- $ apt-get install php5-fpm
说明:Nginx不支持对外部程序的直接调用或解析,所有的外部程序(包括PHP)必须通过FastCGI接口调用。
3. 配置Nginx
(1)nginx的配置文件/etc/nginx/nginx.conf
[plain] view plaincopy
- user www-data; // 指定Nginx Worker 进程运行用户及用户组
- worker_processes 4; // 指定Nginx开启的进程数,每个Nginx进程平均耗费10M-20M内存
- pid /var/run/nginx.pid; // 用来指定进程id的存储文件的位置
- events { //用来指定Nginx的工作模式,及连接上限数
- worker_connections 768;
- # multi_accept on;
- }
- http {
- ...
- }
(2)虚拟主机被定义在server{}中,默认文件/etc/nginx/sites-available/default
[plain] view plaincopy- server {
- listen 80;
- root /usr/share/nginx/www;
- index index.php;
- server_name localhost;
- location / {
- try_files $uri $uri/ /index.php;
- }
- location ~ \.php$ {
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fastcgi_params;
- }
- }
(3)reload使配置生效
[sql] view plaincopy
- $ sudo service nginx restart
(4)在Nginx的默认网站根目录创建一个PHP的测试文件 vim /usr/share/nginx/www/test.php
[php] view plaincopy- <? php
- echo 'Hello World!';
- echo '<br/>';
- phpinfo();
- ?>
(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- $ 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,使之生效
- $ 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
评论暂时关闭