指定服务监听的地址,如果使用IP协议,则可以包括IP地址和端口,如果使用UNIX域套接字协议,则为文件路径。
只能在server块中设置,并起作用。
# 补充知识点:/etc/hosts域名解析文件配置
当本地浏览器访问某个域名的时候,首先会从/etc/hosts文件中查找,找不到再去dns中去找
,所以你可以直接配置本地的域名
#vim /etc/hosts
127.0.0.1 www.baidu.com
对于IP协议来讲,可以只配置端口,可以只配置IP,也可以IP和端口都配置。
示例:
如果没有配置listen指定,对于root权限用户监听80端口,对于非root用户监听8000端口。
在使用listen的时候可以直接配置,直接去写端口号,或者去写其IP地址。
一般都是这种直接就一个80端口,意味着这台主机上面有几个IP,他就会去为这些IP的80端口提供服务。
下面的这些IP访问80端口都可以提供服务
[root@jenkins ~]# ifconfig br-a07742cf33c8: flags=4163mtu 1500 inet 10.1.0.1 netmask 255.255.255.0 broadcast 10.1.0.255 inet6 fe80::42:9bff:fe4a:a821 prefixlen 64 scopeid 0x20 docker0: flags=4099 mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 inet6 fe80::42:90ff:fee6:469b prefixlen 64 scopeid 0x20 eno16777736: flags=4163 mtu 1500 inet 192.168.11.128 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::20c:29ff:fe00:9de2 prefixlen 64 scopeid 0x20 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10
root表示web服务器能够访问的根,默认首页是index.html或者index.htm。50x.html表示当服务器发生错误的时候会自动返回50x.html的页面
location / { root html; index index.html index.htm; } [root@jenkins nginx]# cd html/ [root@jenkins html]# ls 50x.html index.html
[root@jenkins html]# for ip in `ifconfig | grep -w inet | awk '{print $2}'`;do echo $ip**********;curl $ip;done 10.1.0.1**********Welcome to nginx! 172.17.0.1**********Welcome to nginx! 192.168.11.128**********Welcome to nginx! 127.0.0.1**********Welcome to nginx!
可以看到这三个IP的端口都可以对外提供服务,也就是机器上面插了几块网卡,那么就有几块IP,如果配置的时候不去指定IP,那么这些网卡上的IP就都可以对外提供服务。
注意,修改之后,需要重启,重启和reload是不一样的。
[root@jenkins conf]# nginx -s quit [root@jenkins conf]# nginx [root@jenkins conf]# for ip in `ifconfig | grep -w inet | awk '{print $2}'`;do echo $ip**********;curl $ip;done 10.1.0.1********** curl: (7) Failed connect to 10.1.0.1:80; Connection refused 172.17.0.1********** curl: (7) Failed connect to 172.17.0.1:80; Connection refused 192.168.11.128**********Welcome to nginx! 127.0.0.1********** curl: (7) Failed connect to 127.0.0.1:80; Connection refused