日期:2014-05-16  浏览次数:20780 次

Linux: Nginx 安装

安装nginx

?

sudo apt-get install nginx

?

Ubuntu安装之后的文件结构大致为:

  • 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
  • 程序文件在/usr/sbin/nginx
  • 日志放在了/var/log/nginx中
  • 并已经在/etc/init.d/下创建了启动脚本nginx
  • 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

启动nginx

?

sudo /etc/init.d/nginx start

?

然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。 启动时候若显示端口80被占用: Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 修改文件:/etc/nginx/sites-available/default,去掉 listen 前面的 # 号 , # 号在该文件里是注释的意思 , 并且把 listen 后面的 80 端口号改为自己的端口,访问是需要添加端口号。

?

(安装完后如出现403错误,那可能是nginx配置文件里的网站路径不正确)

nginx默认页面

?

配置php和mysql

安装php和MySQL:

sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql

?

安装FastCgi

/usr/bin/spawn-fcgi这个文件来管理 FastCgi,它原属于lighttpd这个包里面,但 9.10 后,spawn-fcgi 被分离出来单独成包:

sudo apt-get install spawn-fcgi

?

配置 nginx

修改nginx的配置文件:/etc/nginx/sites-available/default 修改主机名:

server_name localhost;

?

修改index的一行修改为:

?

index index.php index.html index.htm;
?

?

去掉下面部分的注释用于支持 php 脚本:

?

location ~ \.php$ {
include /etc/nginx/fastcgi_params; #需放在第一行,否则会出错
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
}
?

?

重新启动nginx:

?

/etc/init.d/nginx stop
/etc/init.d/nginx start

?

?

启动fastcgi php:

?

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
?

?

为了让php-cgi开机自启动: Ubuntu开机之后会执行/etc/rc.local文件中的脚本 所以我们可以直接在/etc/rc.local中添加启动脚本。 spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi 添加到语句:exit 0 前面才行

创建、测试phpinfo:

sudo vi /var/www/nginx-default/info.php
?
<?php phpinfo(); ?>
?

打开 http://localhost/info.php 。

Nginx phpinfo页面

?

安装nginx +uwsgi+ Django

这次采用 uwsgi 1.2+django1.4+nginx1.1.19+ubuntu12.04组合进行安装

首先注意 要安装比较新的软件 如果你是ubuntu11.04和11.10 因为内核不同 所以安装软件版本不同

1.首先 安装nginx: sudo apt-get install nginx 2.然后: 进行uwsgi的安装之前 要安装其他几个: sudo apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb 3.进行uwsgi的安装: 可能由于软件版本不够新吧 ppa里头安装后出现502错误 所以 用软件包安装:

  1. wget http://projects.unbit.it/downloads/uwsgi-1.2.tar.gz
  2. tar zxvf uwsgi-1.2.tar.gz
  3. cd uwsgi-1.2
  4. ma