nginx配置文件的简明说明,供大家学习参考。
虚拟主机
server_name .avdata.org; #可以用正则表达式
*.avdata.org 跟avdata.org 可以合并为 .avdata.org 多个域名并排,空格分隔。
显示目录或文件
autoindex on;
autoindex_exact_size on; #显示文件大小
autoindex_localtime on; #显示最后修改时间。
压缩返回
gzip on;
gzip_types text/plain application/x-javascript text/css application/xml; #指定类型文件压缩
gzip_min_length 1000;
gzip_buffers 4 8k;
默认读取的文件
index index.php index.html index.htm;
设置网站的根目录
root /var/nginx/avdata/public_html; #确保有目录权限x
默认请求处理
location / { #默认的处理
try_files $uri $uri/ index.php?$args;
}
默认处理的匹配方式
配置的$uri 即不包含参数以/开头的请求地址
~ 区分大小写正则匹配
~* 不区分大小写正则匹配
^~ 如果匹配之后将停止往下检查
= 完全相等
例:
location ~ .php$ {#匹配.php的请求
try_files $uri $uri/ index.php?$args;#$args显示传递GET参数
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
location = index.php {#匹配index.php ,非页面上输入index.php的请求.页面上index.php的请求为/index.php
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;#$fastcgi_script_name默认跟$uri相同
fastcgi_index index.php;
}
静态文件超时
通过规则:
{}里面的设置不影响外部的设置,
外部的设置影响{}里的设置,所以可以在虚拟主机的外部定义root,全局共用
IP监听
listen 80; #IP:端口 或者直接端口,监听全部IP
简单重写代替
# 最后一个是处理方式或者是处理地址,之前的为文件或目录<br># 找不到对应文件或目录将用最后一个作为请求代替<br># $uri/ 以/结尾表示目录<br>try_files $uri $uri/ index.php;#文件或目录找不到的时候用index.php代替$uri
别名
禁止访问
指定IP访问
传输速度限制
404错误记录