千家信息网

详述Linux系统中Nginx虚拟主机的配置

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,Nginx虚拟主机应用Nginx支持的虚拟主机有三种基于域名的虚拟主机.基于IP的虚拟主机基于端口的虚拟主机通过"server{}"配置段实现本篇实验接着上一篇搭建Nginx服务继续搭建,前面Ngin
千家信息网最后更新 2024年11月28日详述Linux系统中Nginx虚拟主机的配置

Nginx虚拟主机应用

Nginx支持的虚拟主机有三种

  • 基于域名的虚拟主机.
  • 基于IP的虚拟主机
  • 基于端口的虚拟主机

通过"server{}"配置段实现

  • 本篇实验接着上一篇搭建Nginx服务继续搭建,前面Nginx的编译安装不在介绍

    基于域名的虚拟主机

    [root@localhost nginx-1.12.2]# mkdir -p /var/www/html/accp   //递归创建accp网页站点目录[root@localhost nginx-1.12.2]# mkdir -p /var/www/html/kgc     //递归创建kgc网页站点目录[root@localhost nginx-1.12.2]# cd /var/www/html/      //进入站点目录[root@localhost html]# ls           //查看accp  kgc[root@localhost html]# echo "this is kgc web" > kgc/index.html    //创建站点文件[root@localhost html]# echo "this is accp web" > accp/index.html  //创建站点文件[root@localhost html]# ls accp/   //查看accp站点目录index.html[root@localhost html]# ls kgc/   //查看kgc站点目录index.html[root@localhost conf]# vim /etc/named.rfc1912.zones     //编辑DNS服务区域配置文件...//省略部分内容...zone "kgc.com" IN {    type master;    file "kgc.com.zone";    allow-update { none; };};      zone "accp.com" IN {    type master;    file "accp.com.zone";                //添加accp网页域名解析    allow-update { none; };};...//省略部分内容...:wq[root@localhost conf]# cd /var/named/[root@localhost named]# cp -p named.localhost kgc.com.zone    //复制区域数据文件[root@localhost named]# vim kgc.com.zone              //编辑kgc区域数据文件$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.144.133:wq[root@localhost named]# cp -p kgc.com.zone accp.com.zone     //复制kgc区域数据文件保持权限不变,复制为accp区域数据文件[root@localhost named]# systemctl restart named          //重启DNS服务[root@localhost init.d]# cd /usr/local/nginx/conf/      [root@localhost conf]# vim nginx.conf               //编辑Nginx主配置文件...//省略部分内容...server {    listen       80;     server_name  www.kgc.com;         //设置kgc域名访问条目    charset utf-8;                   //更改字符串类型    access_log  logs/www.kgc.com.access.log;    //更改日志文件名称    location / {         root   /var/www/html/kgc;           //更改站点位置        index  index.html index.htm;    }       error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }   }   server {    listen       80;     server_name  www.accp.com;    charset utf-8;    access_log  logs/www.accp.com.access.log;    location / {         root   /var/www/html/accp;        index  index.html index.htm;    }       error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }   }   ...//省略部分内容...:wq[root@localhost conf]# 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 conf]# service nginx restart     //重启服务[root@localhost conf]# systemctl restart named   //重启DNS服务
  • 在客户机中测试网页

基于端口的虚拟主机

[root@localhost conf]# vim nginx.conf    //编辑Nginx主配置文件...//省略部分内容...#    server {#        listen       80;#        server_name  www.kgc.com;#        charset utf-8;#        access_log  logs/www.kgc.com.access.log;#        location / {#            root   /var/www/html/kgc;             //注释掉此部分内容#            index  index.html index.htm;#        }#        error_page   500 502 503 504  /50x.html;#        location = /50x.html {#            root   html;#        }#    }  server {        listen       192.168.144.133:80;          //端口条目钱添加IP地址        server_name  www.accp.com;        charset utf-8;        access_log  logs/www.accp.com.access.log;        location / {            root   /var/www/html/accp;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }    server {                                         //复制上面部分的内容        listen       192.168.144.133:8080;           //设置相同IP监听不同端口         server_name  www.accp.com;        charset utf-8;        access_log  logs/www.accp8080.com.access.log;    //更改日志文件名称        location / {            root   /var/www/html/accp8080;         //整改站点文件目录名称            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }...//省略部分内容...:wq          [root@localhost conf]# cd /var/www/html/      //进入站点目录[root@localhost html]# mkdir accp8080           //创建目录[root@localhost html]# echo "this is accp8080 web" > accp8080/index.html   //编辑网页内容[root@localhost html]# cd /usr/local/nginx/conf/    [root@localhost conf]# 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 conf]# service nginx restart   //重启服务[root@localhost conf]# netstat -ntap | grep 80     //查看端口tcp        0      0 192.168.144.133:8080    0.0.0.0:*            LISTEN      11967/nginx: master tcp        0      0 192.168.144.133:80      0.0.0.0:*            LISTEN      11967/nginx:
  • 在客户机中访问测试

基于不同IP的虚拟主机

  • 首先给Linux虚拟机添加网卡

[root@localhost conf]# ifconfig     //查看新添加的网卡信息,并记录IP地址ens33: flags=4163  mtu 1500        inet 192.168.144.133  netmask 255.255.255.0  broadcast 192.168.144.255        inet6 fe80::a85a:c203:e2e:3f3c  prefixlen 64  scopeid 0x20        ether 00:0c:29:5b:d3:a0  txqueuelen 1000  (Ethernet)        RX packets 67362  bytes 72060261 (68.7 MiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 16836  bytes 1825469 (1.7 MiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens36: flags=4163  mtu 1500        inet 192.168.144.145  netmask 255.255.255.0  broadcast 192.168.144.255        inet6 fe80::deb1:3cec:3e26:5ec2  prefixlen 64  scopeid 0x20        ether 00:0c:29:5b:d3:aa  txqueuelen 1000  (Ethernet)        RX packets 6  bytes 926 (926.0 B)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 27  bytes 4513 (4.4 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[root@localhost conf]# vim /var/named/kgc.com.zon       //更改DNS区域数据文件中kgc网页解析的IP地址$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.144.145      //更改为新添加网卡的IP地址:wq[root@localhost conf]# vim nginx.conf    //编辑主配置文件...//省略部分内容... server {        listen       192.168.144.145:80;       //去掉上面配置基于端口时全面添加的注释,并添加监听的IP地址        server_name  www.kgc.com;        charset utf-8;        access_log  logs/www.kgc.com.access.log;        location / {             root   /var/www/html/kgc;            index  index.html index.htm;        }           error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }       }       server {        listen       192.168.144.133:80;        server_name  www.accp.com;        charset utf-8;         access_log  logs/www.accp.com.access.log;            //保持不变        location / {             root   /var/www/html/accp;            index  index.html index.htm;        }           error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }       } #    server {#        listen       192.168.144.133:8080;#        server_name  www.accp.com;#        charset utf-8;#        access_log  logs/www.accp8080.com.access.log;          //注释掉此部分内容#        location / {#            root   /var/www/html/accp8080;#            index  index.html index.htm;#        }#        error_page   500 502 503 504  /50x.html;#        location = /50x.html {#            root   html;#        }#    }...//省略部分内容...:wq[root@localhost conf]# 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 conf]# service nginx restart    //重启服务[root@localhost conf]# systemctl restart named   //重启DNS服务
  • 在客户机中访问测试(此处建议新开启一台客户机做访问测试)

0