#user nobody;worker_processes 1; #工作进程:数目。根据硬件调整,通常等于cpu数量或者2倍cpu数量。#错误日志存放路径#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid; # nginx进程pid存放路径events {worker_connections 1024; # 工作进程的最大连接数量}http {include mime.types; #指定mime类型,由mime.type来定义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; #用log_format指令设置日志格式后,需要用access_log来指定日志文件存放路径sendfile on; #指定nginx是否调用sendfile函数来输出文件,对于普通应用,必须设置on。如果用来进行下载等应用磁盘io重负载应用,可设着off,以平衡磁盘与网络io处理速度,降低系统uptime。#tcp_nopush on; #此选项允许或禁止使用socket的TCP_CORK的选项,此选项仅在sendfile的时候使用#keepalive_timeout 0; #keepalive超时时间keepalive_timeout 65;#gzip on; #开启gzip压缩服务#虚拟主机server {listen 80; #配置监听端口号server_name localhost; #配置访问域名,域名可以有多个,用空格隔开#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$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。# root html; #根目录# fastcgi_pass 127.0.0.1:9000; #请求转向定义的服务器列表# fastcgi_index index.php; # 如果请求的Fastcgi_index URI是以 / 结束的, 该指令设置的文件会被附加到URI的后面并保存在变量$fastcig_script_name中# 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;#}}server {listen 9999;server_name localhost;location / {root /usr/local/front/dist;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html{root /usr/local/front/dist;}location /prod-api/ {proxy_pass http://localhost:8080/;# 代理接口地址}}# 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; # ssl_prefer_server_ciphers on; ## location / {# root html;# index index.html index.htm;# }#}}
[root]
语法:root path
默认值:root html
配置段:http、server、location、if
[alias]
语法:alias path
配置段:location
location ^~ /t/ {root /www/root/html/;}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。
location ^~ /t/ {alias /www/root/html/new_t/;}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
1. 使用alias时,目录名后面一定要加”/“。
3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
4. alias只能位于location块中。(root可以不放在location中)
