1.location:
location匹配命令:
① ~
~ :波浪线代表执行一个正则匹配,区分大小写
② ~*
~* :表示,执行一个正则匹配,不区分大小写
③ ^~
^~ :表示普通字符匹配,如果该项匹配,则只匹配该项,不匹配别的选项,一般用来匹配目录
④ =
= :进行普通字符精确匹配
⑤ @
@ :”@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files
location / { # 匹配任何请求,因为所有的请求均是以/开头 # 但是更长字符匹配或者正则正则表达式匹配会优先匹配 } location = / { # 只匹配"/" } location ^~ /test { # 匹配任何以/test开头的请求,并停止匹配其他的location } location ~* .(gif|jpg|jpeg)$ { # 匹配以gif,jpg,jpeg结尾的请求 # 但是所有以/test开头的请求这个location无法进行处理,会交由前面那个location进行处理 }
2.listen
nginx监听的端口,
listen 8080; #监听8080端口(IPv4) listen [::]:8080; #监听8080端口(IPv6) listen 8080 http2; #以http2监听8080端口(IPv4) listen 8080 ssl; #监听https 8080端口 (IPv4)
3.server_name
只监听服务的域名,利用不同的server_name我们可以实现端口复用。
server { listen 443 ssl; server_name abc.example.com; ssl_certificate /abc/ssl/abc.crt; ssl_certificate_key /abc/ssl/abc.key; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:!MD5; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_session_timeout 5m; root /abc/html; index index.html } server { listen 443; server_name bcd.example.com; root /bcd/html; index index.html; }
4.root
指定网站对应的根目录
root /var/www/html;
5.index
指定访问对应目录时默认打开的文件
index index.php index.html;