本文介绍: 如果只有一块网卡,那么只有一个IP,如果是虚拟样还有虚拟网卡的IP,这样实际上就会涉及到多个IP,*代表所有的IP。和*.8000一样,表示将服务器所有支持的ip地址都绑定了端口,这样所有的IP地址都可以提供服务。(一般不会写在listen的后面,一般ssl在其他的地方配置,配置了ssl那么该端口只提供ssl的服务,说白了就是https)(能够承载多少tcp的连接,设置的越大,承载的tcp连接越多,反之)对于IP协议来讲,可以只配置端口,可以只配置IP,也可以IP和端口都配置。
listen 指令
# 补充知识点:/etc/hosts域名解析文件配置
当本地浏览器访问某个域名的时候,首先会从/etc/hosts文件中查找,找不到再去dns中去找
,所以你可以直接配置本地的域名
设置方法
对于IP协议来讲,可以只配置端口,可以只配置IP,也可以IP和端口都配置。
示例:
- listen 8000; 和*.8000一样,表示将服务器所有支持的ip地址都绑定了端口,这样所有的IP地址都可以提供服务。(监听本机所有IP的8000端口)
- listen *:8000; 如果只有一块网卡,那么只有一个IP,如果是虚拟样还有虚拟网卡的IP,这样实际上就会涉及到多个IP,*代表所有的IP。(监听本机所有IP的9000端口)
- listen [::]:8000; IPV6 监听IPv6的8000端口
- listen [fe80::1]; 这个只写了IPV6的ip,没有写端口号
- listen [:::a8c9:1234]:80;
- listen 443 default_server ssl; 443端口,ssl协议
- listen 127.0.0.1 default_server accept_filter=dataready backlog=1024; 综合了上面所有的写法
如果没有配置listen指定,对于root权限用户监听80端口,对于非root用户监听8000端口。
示例
只配置端口80
在使用listen的时候可以直接配置,直接去写端口号,或者去写其IP地址。
一般都是这种直接就一个80端口,意味着这台主机上面有几个IP,他就会去为这些IP的80端口提供服务。
[root@jenkins ~]# ifconfig
br-a07742cf33c8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 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<link>
docker0: flags=4099<UP,BROADCAST,MULTICAST> 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<link>
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<link>
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
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**********
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
172.17.0.1**********
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
192.168.11.128**********
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
127.0.0.1**********
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
可以看到这三个IP的端口都可以对外提供服务,也就是机器上面插了几块网卡,那么就有几块IP,如果配置的时候不去指定IP,那么这些网卡上的IP就都可以对外提供服务。
指定某个IP对外提供服务,其他IP不对外提供服务
[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**********
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
127.0.0.1**********
curl: (7) Failed connect to 127.0.0.1:80; Connection refused
原文地址:https://blog.csdn.net/qq_34556414/article/details/132847822
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_16121.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。