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
- .NET 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 地址
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<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- .NET 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
- .NET 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. 用测试机检查域名解析是否正常 (正常)
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 地址的域名
来源: http://blog.51cto.com/14449541/2449880