一:listen指令
语法 | listen address [:port] [default_server] listen port [default_server] |
---|---|
默认值 | listen :80 | :8080 |
位置 | server |
default_ server属性是标识符,用来将此虚拟主机设置成默认主机。所谓的默认主机指DEFAULT_SERVER属性是标识符,用来将此虚拟主机设置成默认主机。所谓的默认主机指的是如果没有匹配到对应的address:port,则会默认执行的。如果不指定默认使用的是的是如果没有匹配到对应的地址:端口,则会默认执行的。如果不指定默认使用的是第一个server。
#listen 设置比较灵活
listen 127.0.0.1:8080 #监听指定的ip和端口
listen 127.0.0.1 #监听指定ip的所有端口
listen localhost:80 #监听本机的80端口
listen 80 #监听指定端口上的链接
listen *:8080
server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html;
}
}
server_name指令
server_name 用来设置虚拟主机服务的名称
如:127.0.0.1 ,localhost, 域名www.baidu.com等
语法 | server_name ‘name1’ ‘name2’ ‘name3’ (多个之间用空格隔开) |
---|---|
默认值 | server_name |
位置 | server |
server_name配置的三种方式:
- 精准匹配
- 通配符匹配
- 正则表达式匹配
1.精准匹配
server {
listen 8080;
server_name www.baidu.com www.google.com;
........
}
}
如果想在自己的nginx服务器上模拟一个域名测试还需要更改Windows的hosts文件将域名与127.0.0.1进行映射
windows:C:\Windows\System32\drivers\etc\hosts
hosts是一个没有扩 展名的系统文件,可以用记事本等工具打开,其作用就是将一-些常用
的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登
录的网址时,系统会首先自动从hosts文件中寻找对应的IP地址,一旦找到,系统会立即
打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的
解析。
2.基于通配符进行匹配
server_ name中支持通配符”*”,但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段,如:
server {
listen 8080;
server_name *.baidu.com www.google.*; # *号不能出现在中间
........
}
}
下面这些都会报错
server {
listen 8080;
server_name www.*.com www.google.c*;
........
}
}
3.基于正则表达式
缺少一个匹配顺序