千家信息网

Nginx服务虚拟主机的配置----------基于域名、端口、IP(实战!)

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,DNS服务配置1.安装bind服务[root@localhost sbin]# yum install bind -y...........//省略安装过程[root@localhost sbin]#
千家信息网最后更新 2024年11月23日Nginx服务虚拟主机的配置----------基于域名、端口、IP(实战!)

DNS服务配置

1.安装bind服务

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

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

[root@localhost named]# ifconfigens33: flags=4163  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        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.confoptions {        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.zoneszone "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]# lsdata  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.1www IN  A       192.168.52.133   //添加解析地址[root@localhost named]# cp -p abc.com.zone xyz.com.zone    //复制abc域名的区域配置文件命名为xyz域名[root@localhost named]# lsabc.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]# lsabc  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 oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost html]# service nginx restart      //重启服务[root@localhost html]# 

4.开启一台win10作为测试机,设置dns地址

5.测试能否进行域名解析(成功)

6.用测试机浏览器访问两个域名

基于端口的虚拟主机配置

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 -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: 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.用测试机浏览器访问相同域名的不同端口

基于IP的虚拟主机配置

1.给虚拟机添加一块网卡

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

[root@localhost html]# ifconfig ens33: flags=4163  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        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 0ens36: flags=4163  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        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.1www IN  A       192.168.52.139    //修改ip地址为192.168.52.139[root@localhost html]# systemctl restart named    //重启dns服务[root@localhost html]# 

4.用测试机检查域名解析是否正常(正常)

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 oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@localhost html]# service nginx restart    //重启服务[root@localhost html]# 

7.用测试机分别访问两个不同IP地址的域名

0