详述Linux系统中Nginx虚拟主机的配置
Nginx虚拟主机应用
Nginx支持的虚拟主机有三种
- 基于域名的虚拟主机.
- 基于IP的虚拟主机
- 基于端口的虚拟主机
通过"server{}"配置段实现
本篇实验接着上一篇搭建Nginx服务继续搭建,前面Nginx的编译安装不在介绍
基于域名的虚拟主机
[ nginx-1.12.2]# mkdir -p /var/www/html/accp //递归创建accp网页站点目录 [ nginx-1.12.2]# mkdir -p /var/www/html/kgc //递归创建kgc网页站点目录 [ nginx-1.12.2]# cd /var/www/html/ //进入站点目录 [ html]# ls //查看 accp kgc [ html]# echo "this is kgc web" > kgc/index.html //创建站点文件 [ html]# echo "this is accp web" > accp/index.html //创建站点文件 [ html]# ls accp/ //查看accp站点目录 index.html [ html]# ls kgc/ //查看kgc站点目录 index.html [ 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 [ conf]# cd /var/named/ [ named]# cp -p named.localhost kgc.com.zone //复制区域数据文件 [ 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.1 www IN A 192.168.144.133 :wq [ named]# cp -p kgc.com.zone accp.com.zone //复制kgc区域数据文件保持权限不变,复制为accp区域数据文件 [ named]# systemctl restart named //重启DNS服务 [ init.d]# cd /usr/local/nginx/conf/ [ 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 [ conf]# 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 [ conf]# service nginx restart //重启服务 [ conf]# systemctl restart named //重启DNS服务
- 在客户机中测试网页
基于端口的虚拟主机
[ 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 [ conf]# cd /var/www/html/ //进入站点目录 [ html]# mkdir accp8080 //创建目录 [ html]# echo "this is accp8080 web" > accp8080/index.html //编辑网页内容 [ html]# cd /usr/local/nginx/conf/ [ conf]# 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 [ conf]# service nginx restart //重启服务 [ 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虚拟机添加网卡
[ conf]# ifconfig //查看新添加的网卡信息,并记录IP地址 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<link> 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 0 ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 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<link> 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 [ 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.1 www IN A 192.168.144.145 //更改为新添加网卡的IP地址 :wq [ 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 [ conf]# 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 [ conf]# service nginx restart //重启服务 [ conf]# systemctl restart named //重启DNS服务
- 在客户机中访问测试(此处建议新开启一台客户机做访问测试)
相关推荐
nginxs 2020-11-14
Guanjs0 2020-11-13
小木兮子 2020-11-11
yserver 2020-11-11
ssihc0 2020-11-11
windle 2020-11-10
HanksWang 2020-11-10
liuchen0 2020-11-10
Freshairx 2020-11-10
ccschan 2020-11-10
liwf 2020-11-10
Guanjs0 2020-11-09
AderStep 2020-11-09
zrtlin 2020-11-09
mqfcu 2020-11-10
windle 2020-10-29