#user nobody;worker_processes 1; # 工作进程个数,可配置多个#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024; # 单个进程最大连接数}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { #每一个server相当于一个代理服务器 listen 80; #监听端口,默认80 server_name localhost; #当前服务的域名,可以有多个,用空格分隔(本地是localhost) root /usr/tomcat/webapps/test; #假如不配置的话,所有css,js,img文件都无法加载 #charset koi8-r; #access_log logs/host.access.log main; location / { #表示匹配的路径,这时配置了/表示所有请求都被匹配到这里 root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #请求转向自定义的服务器列表 #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #}}
location的匹配规则
语法规则: location [=|~|~*|^~] /uri/ { … }= #用于标准uri前,需要请求字串与uri精确匹配,如果匹配成功就停止~ #用于标准uri前,表示包含正则表达式并且区分大小写~* #用于标准uri前,表示包含正则表达式并且不区分大写!~ #用于标准uri前,表示包含正则表达式并且区分大小写不匹配!~* #用于标准uri前,表示包含正则表达式并且不区分大小写不匹配^~ #用于标准uri前,表示包含正则表达式并且匹配以什么开头$ #用于标准uri前,表示包含正则表达式并且匹配以什么结尾\ #用于标准uri前,表示包含正则表达式并且转义字符。可以转. * ?等* #用于标准uri前,表示包含正则表达式并且代表任意长度的任意字符匹配优先级:=, ^~, ~/~*,/location优先级:(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)