Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

DNS服務配置

1.安裝bind服務

[root@localhost sbin]# yum install bind -y
...........//省略安裝過程
[root@localhost sbin]#

2.查看網卡信息(IP地址)

[root@localhost named]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.133  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::3e1d:31ba:f66a:6f80  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:27:1c:3f  txqueuelen 1000  (Ethernet)
        RX packets 384057  bytes 558603083 (532.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 182891  bytes 11237471 (10.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.修改主配置文件

[root@localhost sbin]# vim /etc/named.conf

options {
        listen-on port 53 { any; };    //127.0.0.1改爲any
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };      //localhost改爲any

[root@localhost sbin]#

4.修改區域配置文件

[root@localhost sbin]# vim /etc/named.rfc1912.zones

zone "abc.com" IN {        //添加兩個區域信息
        type master;
        file "abc.com.zone";
        allow-update { none; };
};

zone "xyz.com" IN {
        type master;
        file "xyz.com.zone";
        allow-update { none; };
};

[root@localhost sbin]#

5.修改區域數據配置文件

[root@localhost sbin]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost abc.com.zone    //複製模板並命名
[root@localhost named]# vim abc.com.zone 

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.52.133   //添加解析地址

[root@localhost named]# cp -p abc.com.zone xyz.com.zone    //複製abc域名的區域配置文件命名爲xyz域名
[root@localhost named]# ls
abc.com.zone  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  xyz.com.zone
[root@localhost named]# 
[root@localhost named]# systemctl start named   //開啓dns服務
[root@localhost named]# systemctl stop firewalld.service    //關閉防火牆
[root@localhost named]# setenforce 0    //關閉增強性安全功能
[root@localhost named]# 

基於域名的虛擬主機配置

1.分別給兩個站點創建首頁文件

[root@localhost named]# mkdir -p /var/www/html/abc    //創建abc站點
[root@localhost named]# mkdir -p /var/www/html/xyz    //創建xyz站點
[root@localhost named]# cd /var/www/html/
[root@localhost html]# ls
abc  xyz
[root@localhost html]# echo "this is abc web" > abc/index.html   //創建首頁文件
[root@localhost html]# echo "this is xyz web" > xyz/index.html   //創建首頁文件
[root@localhost html]#

2.修改nginx服務配置文件

[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf

    server {
        listen       80;             //監聽端口
        server_name  www.abc.com;      //域名
        charset utf-8;      //字符集,utf-8支持中文字符
        access_log  logs/www.abc.com.access.log;     //訪問日誌
        location / {
            root   /var/www/html/abc;    //站點
            index  index.html index.htm;     //支持的首頁類型
        }
        error_page   500 502 503 504  /50x.html;    //訪問錯誤文件
        location = /50x.html {
            root   html;     //站點
        }
    }

    server {
        listen       80;    //監聽端口
        server_name  www.xyz.com;     //域名
        charset utf-8;      //字符集,utf-8支持中文字符
        access_log  logs/www.xyz.com.access.log;    //訪問日誌
        location / { 
            root   /var/www/html/xyz;    //站點
            index  index.html index.htm;     //支持的首頁類型
        }
        error_page   500 502 503 504  /50x.html;    //訪問錯誤文件
        location = /50x.html {
            root   html;     //站點
        }
    } 

[root@localhost html]#

3.檢查測試配置文件,並重啓服務

[root@localhost html]# nginx -t   //檢查配置文件語法格式
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost html]# service nginx restart      //重啓服務
[root@localhost html]# 

4.開啓一臺win10作爲測試機,設置dns地址

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

5.測試能否進行域名解析(成功)

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

6.用測試機瀏覽器訪問兩個域名

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

基於端口的虛擬主機配置

1.修改nginx服務的配置文件

[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf

    server {
        listen       192.168.52.133:80;     //監聽端口
        server_name  www.abc.com;
        charset utf-8;
        access_log  logs/www.abc.com.access.log;    //訪問日誌
        location / {
            root   /var/www/html/abc;     //站點
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       192.168.52.133:8080;    //監聽端口
        server_name  www.abc.com;
        charset utf-8;
        access_log  logs/www.abc8080.com.access.log;     //訪問日誌
        location / {
            root   /var/www/html/abc8080;     //站點
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

2.測試配置文件

[root@localhost html]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost html]# 

3.創建8080端口站點目錄與首頁文件

[root@localhost html]# mkdir abc8080   //創建站點目錄
[root@localhost html]# echo "this is abc8080 web" > abc8080/index.html     //創建首頁文件
[root@localhost html]# service nginx restart    //重啓nginx服務
[root@localhost html]#

4.用測試機瀏覽器訪問相同域名的不同端口

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

基於IP的虛擬主機配置

1.給虛擬機添加一塊網卡

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

2.查看網卡信息(IP地址)

[root@localhost html]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.133  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::3e1d:31ba:f66a:6f80  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:27:1c:3f  txqueuelen 1000  (Ethernet)
        RX packets 391887  bytes 559453355 (533.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 185573  bytes 11520948 (10.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.52.139  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::f7fb:4ddc:f4b6:b90a  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:27:1c:49  txqueuelen 1000  (Ethernet)
        RX packets 14  bytes 1737 (1.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 4219 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.修改域名區域數據配置文件“xyz.com.zone”的解析地址

[root@localhost html]# vim /var/named/xyz.com.zone

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.52.139    //修改ip地址爲192.168.52.139

[root@localhost html]# systemctl restart named    //重啓dns服務
[root@localhost html]# 

4.用測試機檢查域名解析是否正常(正常)

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

5.修改nginx服務的配置文件

[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf

    server {
        listen       192.168.52.133:80;     //監聽IP地址與端口
        server_name  www.abc.com;    //域名
        charset utf-8;    //字符集,utf-8支持中文字符
        access_log  logs/www.abc.com.access.log;    //訪問日誌
        location / { 
            root   /var/www/html/abc;    //站點
            index  index.html index.htm;   //支持的首頁格式
        }
        error_page   500 502 503 504  /50x.html;    //訪問錯誤首頁文件
        location = /50x.html {
            root   html;      //站點
        }
    } 

    server {
        listen       192.168.52.139:80;     //監聽IP地址與端口
        server_name  www.xyz.com;    //域名
        charset utf-8;    //字符集,utf-8支持中文字符
        access_log  logs/www.xyz.com.access.log;    //訪問日誌
        location / {
            root   /var/www/html/xyz;    //站點
            index  index.html index.htm;   //支持的首頁格式
        }
        error_page   500 502 503 504  /50x.html;    //訪問錯誤首頁文件
        location = /50x.html {
            root   html;      //站點
        }
    }

6.測試配置文件,沒有問題,重啓服務

[root@localhost html]# nginx -t    //測試配置文件
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost html]# service nginx restart    //重啓服務
[root@localhost html]# 

7.用測試機分別訪問兩個不同IP地址的域名

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

Nginx服務虛擬主機的配置----------基於域名、端口、IP(實戰!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章