安装nginx
sudo apt-get install nginx
文件结构大致为
所有的配置文件都在/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里的配置)
配置php和mysql
CGI和FastCGI的区别
FastCGI就是一个预先启动的进程,减少了CGI方式每次启动解释器的资源耗用。这个方式带来的缺陷就是很容易因为解释器的挂死而失效。
安装Php
sudo apt-get install php5-cli php5-cgi php5-gd php5-mcrypt
安装mysql
sudo apt-get install mysql-server php5-mysql
安装MariaDB
sudo apt-get install mariadb-server php5-mysql
安装FastCgi
sudo apt-get install spawn-fcgi
修改nginx的配置文件
index index.php index.html index.htm;
去掉下面部分的注释用于支持 php 脚本:
location ~ .php$ {
include /etc/nginx/fastcgi_params; #需放在第一行,否则会出错
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$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
//其中的 -c意味着同时同时启动5个进程,9000与niginx里面配置的9000端口对应
让php-cgi开机自启动
在/etc/rc.local中添加启动脚本。
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
添加到语句:exit 0 前面才行
扩展文件目录
/usr/lib/php5/20121212
让nginx列出目录文件
Nginx默认是不允许列出整个目录的。如需此功能,
打开nginx.conf文件,在location server 或 http段中加入
autoindex on;
另外两个参数最好也加上去:
autoindex_exact_size off;
默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
413 Request Entity Too Large
打开nginx主配置文件nginx.conf,找到http{}段,添加
client_max_body_size 20m;#或者大于20m