Nginx服务虚拟主机的配置----------基于域名、端口、IP(实战!)
DNS服务配置
1.安装bind服务
[root@localhost sbin]# yum install bind -y
...........//省略安装过程
[root@localhost sbin]#
2.查看网卡信息(IP地址)
[root@localhost named]# 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 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地址
创新互联专注骨干网络服务器租用十年,服务更有保障!服务器租用,中国电信云锦天府 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。
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 -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.用测试机浏览器访问相同域名的不同端口
基于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 0
ens36: 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.1
www 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 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(实战!)
网站网址:http://ybzwz.com/article/ieogso.html