打開ngin配置文件,註釋掉所有server,在http裏面加入include vhost/*.conf;表示引入vhost目錄下的所有.conf配置文件。
................
.....................
# 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;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include vhost/*.conf;
}
在conf目錄下創建vhost目錄,並創建兩個server配置文件。
[root@k8s-node01 vhost]# ls
www.1.com.conf www.2.com.conf
[root@k8s-node01 vhost]# less www.1.com.conf
server {
listen 80;
server_name www.1.com;
root /data/wwwroot/www.1.com;
}
[root@k8s-node01 vhost]# less www.2.com.conf
server {
listen 80;
server_name www.2.com;
root /data/wwwroot/www.2.com;
}
分別創建 /data/wwwroot/www.2.com、 /data/wwwroot/www.1.com目錄和index.html文件。
[root@k8s-node01 www.1.com]# pwd
/data/wwwroot/www.1.com
[root@k8s-node01 www.1.com]# ls
index.html
/usr/local/nginx/sbin/nginx -t #檢查配置文件正確性
[root@k8s-node01 conf]# /usr/local/nginx/sbin/nginx #啓動nginx
[root@k8s-node01 conf]# /usr/local/nginx/sbin/nginx -s reload #重載配置
[root@k8s-node01 www.1.com]# curl -x127.0.0.1:80 www.1.com
www.1.com
[root@k8s-node01 www.1.com]# curl -x127.0.0.1:80 www.2.com
www.2.com
[root@k8s-node01 vhost]# curl -x127.0.0.1:80 www.3.com #指定一個沒有的域名,默認訪問到www.1.com
www.1.com
用windows直接訪問主機ip,默認訪問到www.1.com
在vhost目錄添加default.conf
[root@k8s-node01 vhost]# ls
default.conf www.1.com.conf www.2.com.conf
[root@k8s-node01 vhost]# less default.conf
server {
listen 80 default_server;
deny all;
}
表示如果不指定域名,則全部拒絕。
[root@k8s-node01 vhost]# /usr/local/nginx/sbin/nginx -s reload
[root@k8s-node01 vhost]# curl -x127.0.0.1:80 www.3.com #不存在的域名拒絕
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.14.0</center>
</body>
</html>