httpd:MPM prefork,worker,event prefork: 主进程生成多个子进程,每个子进程处理一个请求 worker: 主进程生成多个子进程,每个子进程生成多个线程,每个线程响应一个请求 event: 主进程生成多个线程,每个线程响应多个请求

server_name NAME [...]; 后面可以跟多个主机名,名称还可以使用正则表达是(~)或通配符

Nginx server_name匹配顺序(匹配优先级)
	1、先做精确匹配检查:
	2、左侧通配符匹配检查:*.liheng1815.xyz
	3、右侧通配符匹配检查:mail.*
	4、正则表达式匹配检查:如~^.*\.liheng1815\.xyz$
	5、default_server        如果没有设置default server,则由上往下匹配第一个server

	server{
		server_name www.liheng1815.xyz;
	}
	server{
		server_name *.liheng1815.xyz;
	}
	server {
		server_name www.*;
	}

location [= | ~ | ~* | ^~] uri {...} 功能:允许根据用户请求的URI来匹配定义的各location。匹配到时,此请求将被相应的location匹配块中的配置所处理,例如做访问控制等功能

=:精确匹配检查
~:正则表达式模式匹配检查,区分字符大小写
~*:正则表达式模式匹配检查,不区分字符大小写
^~:URL的前半部分匹配,不支持正则表达式

匹配有优先级:
	精确匹配(=)、^~、~、~*、不带任何符号的location

server {
	listen 80;
	server_name www.liheng1815.xyz;
	location / {
		root "/vhosts/web1";
	}
	location /images {
		root "/vhosts/images";
	}
	location ~* \.php$ {
		...;
		...;
	}
}

rewrite regex replacement flag; 例如:rewrite ^/images/(.*.jpg)$ /imgs/$1 break; http://www.liheng1815.xyz/images/a/b/c/1.jpg -->/imgs/a/b/c/1.jpg

flag: last:此rewrite规则重写完成后,就不再被后面的rewrite规则进行处理,而是有User Agent重新对重写的URL再一次发起请求,并从头执行类似的过程。 break:一旦此rewrite规则重写完成后,直接终止重写。 redirect:以302响应码(临时重定向)返回新的URL。 permanent:以302响应码(永久重定向)返回新的URL。

开启gzip压缩: gzip on; gzip_min_length 1; gzip_comp_level 2; gzip_type text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

设置允许列出目录结构(作为一个下载站点) autoindex on;

限制网站访问速度 set $limit_rate 1K;

反向代理配置

http段添加如下一行:
	proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=my_cache:10M max_size=10g inactive=60m use_temp_path=off;   #配置反向代理缓存    
定义上游服务器
upstream website {
	server 127.0.0.1:8080;
}
server {
	server_name www.liheng1815.xyz;
	listen 80;

	location / {
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxt_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		#配置缓存
		proxy_cache my_cache;
		proxy_cache_key $host$uri$is_args$args;
		proxy_cache_valid 200 304 302 1d;
		#反向代理
		proxy_pass http://website
	}
}

server {
	server_name loaclhost;
	listen 127.0.0.1:8080;

	location / {
		alias www/;
		index index.html index.php index.htm;
	}
}

防盗链配置 Syntax: valid_referers none | blocked | server_names | string ...; 可以配置在server与location段 通过valid_referers指令和$invalid_referer变量,就可以通过rewrite功能来实现防盗链,有以下两种方法实现: 1、根据请求资源的资源类型 2、根据请求目录

	一、根据请求资源类型实现防盗链配置实例如下:
	...
	server {
		...
		listen 80;
		server_name www.liheng1815.xyz;
		root /var/html;
		location ~* .*\.(gif|jpg|png|flv|swf|rar|zip) {
			...
			valid_referers none blocked server_names *.liheng1815.xyz;
			if ($invalid_referer) {
				rewrite ^/ http://www.test.com/1.jgp;
				#return 403;
			}
		}
	}
	server {
		listen 80;
		server_name www.test.com;
		root /var/web;
	}
	...

	二、根据请求目录实现防盗链配置实例如下:
	...
	server {
		...
		listen 80;
		server_name www.liheng1815.xyz;
		location /images/ {
			...
			root /server/images/;
			valid_referers none blocked server_names *.liheng1815.xyz;
			if ($invalid_referer) {
				rewrite ^/ http://www.test.com/1.jgp;
				#return 403;
			}
		}
	}
	server {
		listen 80;
		server_name www.test.com;
		root /var/web;
	}
	…

伪静态配置:php页面伪静态为html文件 location / {   rewrite ^(.*)/equip(d+).html$  $1/index.php?m=content&c=index&a=lists&catid=$2 last;   }