web服务

一、DNS服务

1、 完全合格域名

(1)完全合格域名由主机名称域名组成
(2)域名 由 根域顶级域二级域组成
(3)每个域名都由标号序列组点成,而各标号之间用点(“.”)隔开
(4)以下图为例:

红色区域表示主机名称
蓝色区域表示二级域(公司或者企业的名称)
绿色区域表示顶级域(组织域,三个字母组成、国家或者地区域,一般由2个字母组成)
最后的区域则表示根域(用"."来表示)

2、DNS的作用

(1)DNS作用: DNS的主要作用是将域名转换为IP地址
(2)DNS解析过程:

计算机中存在

1、用户请求: 用户向目标域名(例如,baidu.com)发起解析请求。
2、 本地DNS服务器: 客户端浏览器首先请求本地DNS服务器。
3、缓存检查: 本地DNS服务器检查自身缓存,如果有对应域名的解析记录,直接返回给浏览器,解析结束。

计算机不存在

1、 缓存未命中: 如果缓存中没有记录,本地DNS服务器代替客户端向根服务器发起请求。
2、根服务器响应: 根服务器将顶级域(.com)的地址告知本地DNS服务器。
3、 向顶级域发起请求: 本地DNS服务器向顶级域服务器发起请求。
4、顶级域服务器响应: 顶级域服务器将负责baidu.com的权威解析服务器地址告知本地DNS服务器。
5、向权威解析服务器发起请求: 本地DNS服务器向权威解析服务器发起请求。
6、 权威解析服务器响应: 权威解析服务器将baidu.com对应的IP地址告知本地DNS服务器。
7.、解析记录返回: 本地DNS服务器将解析记录告知客户端浏览器。
8、访问目标IP: 客户端浏览器使用解析结果中的IP地址发起访问,整个解析过程结束。

3、查询方式和解析方式

(1)查询方式:
递归查询:客户端与DNS服务器之间
迭代查询:DNS服务器与DNS服务器之间

(2)解析方式:
正向解析:完全域名解析IP地址
反向解析: IP地址解析完全域名

4、搭建DNS服务

(1)、下载安装 ind bind-utils 包

[root@web html]# yum -y install bind bind-utils

(2)、DNS主配置文件和服务名称

[root@web ~]# vim /etc/named.conf //DNS主配置文件
//在DNS主配置文件中修改以下内容才可以修改全局配置文件
options {
        listen-on port 53 { any; };      //  可以监听的端口
//      listen-on-v6 port 53 { any; };   //可以注释 也可以修改为any
        directory       "/var/named";o   // DNS的工作目录 
        allow-query     { any; };        //允许访问的主机
}
named  // DNS服务名称

(3)、DNS全局配置文件

include "/etc/named.rfc1912.zones";  //全局配置文件
(全局配置文件作用:1、定义域与网段的关系2、DNS的类型,主DNS,辅助DN2解析文件的名字叫什么)

正向解析母版
zone "example.com" IN {
        type master;      //定义主DNS或者副DNS
        file "cy.com";  //正向解析母版、反向解析母版文件名称
        allow-update { none; };
};
反向解析母版
zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "com.cy";
        allow-update { none; };
};

// named.localhost 正向解析文件
//  named.empty    反向解析文件 

(4)正反向解析文件

[root@web named]# cp -p /var/named/named.localhost cy.com  
[root@web named]# cp -p /var/named/named.empty com.cy
----------------------------------------------------------------
正向解析文件cy.com   /var/named/cy.com---->正向解析文件位置
$TTL 1D  
@       IN SOA  web.example.com.  admin.yun.com. (
                                20240716        ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      web.example.com.
web     IN      A       192.168.100.10
admin   IN      A       192.168.100.20
web1    IN      A       192.168.100.10
web2    IN      A       192.168.100.10
~                                       
// 第一个 @ 匹配所有的DNS服务器
// SOA  起始授权机构
-----------------------------------------------------------------
正向解析文件cy.com  /var/named/com.cy---->反向解析文件位置
$TTL 3H
@       IN SOA  web.example.com.  admin.yun.com. (
                                20240716        ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      web.example.com.
10      IN      PTR     web.example.com.    ; 192.168.100.10
20      IN      PTR     admin.yun.com.      ;192.168.100.20

(5)搭建网页

在/var/www/下创建web1、web2

[root@web ~]# cd /var/www/
[root@web www]# ls
cgi-bin  html  web1  web2

二、搭建HTTPD服务

1、安装 httpd

[root@web ~]# yum -y install httpd   //安装 httpd软件包

2、httpd的配置文件、默认的DocumentRoot

[root@web conf]# vim /etc/httpd/conf/httpd.conf  //默认的httpd的配置文件

[root@web conf]# cd /var/www/html/               //默认的DocumentRoot

默认的 httpd.conf 的配置文件:
//默认端口为80
Listen 80  						

//DocumentRoot默认存放位置
DocumentRoot "/var/www/html"   

//  修改 DocumentRoot同时也要修改下面的文件,允许所有人访问站点
<Directory "/var/www">
   AllowOverride None  
   # Allow open access:
   Require all granted  
</Directory>

// 定义默认网页的名字
<IfModule dir_module>
   DirectoryIndex index.html   ------> 如果不是此名字要写全,列如:index.php
</IfModule>

3、可以在/var/www/html/ 下创建文件来改变测试页面

[root@web ~]# cd /var/www/html/
[root@web html]# ls
[root@web html]# vim  index.html  
[root@web html]# curl http://192.168.100.10
welcome to  wuhang
[root@web html]# 

三、虚拟主机

虚拟主机配置

//  虚拟主机位置
[root@web ~]# cd  /etc/httpd/
[root@web httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run  state
[root@web httpd]# 

//  虚拟主机配置模板
[root@web conf.d]# find  /  -name "*httpd*host*"
/usr/share/doc/httpd-core/httpd-vhosts.conf

相同的IP不同的端口

# ------------------------------------------------------------------
<VirtualHost 192.168.100.10:80>
    DocumentRoot "/var/www/web1"
</VirtualHost>

# ------------------------------------------------------------------
Listen 8080
<VirtualHost 192.168.100.10:8080>
    DocumentRoot "/var/www/web2"
</VirtualHost>
# ------------------------------------------------------------------
//重启服务,查看web1、web2
[root@web conf.d]# systemctl restart httpd
[root@web conf.d]# curl http://192.168.100.10:80
welcome to web1 site
[root@web conf.d]# curl http://192.168.100.10:8080
welcome to web2 site
[root@web conf.d]# 

相同的端口不同的IP

# ------------------------------------------------------------------
<VirtualHost 192.168.100.10:80>
    DocumentRoot "/var/www/web1"
</VirtualHost>

# ------------------------------------------------------------------
<VirtualHost 192.168.100.123:80>
    DocumentRoot "/var/www/web2"
</VirtualHost>
# ------------------------------------------------------------------
//添加IP
[root@web conf.d]# vim /etc/NetworkManager/system-connections/ens160.nmconnection 

[ipv4]
address1=192.168.100.10/24,192.168.100.254
address2=192.168.100.123/24,192.168.100.254
dns=114.114.114.114;
method=manual
//重启网络服务、httpd,激活链接
[root@web conf.d]# systemctl restart NetworkManager
[root@web conf.d]# systemctl restart httpd
[root@admins ~]# nmcli connection up ens160 

# ------------------------------------------------------------------
//重启服务,查看web1、web2
[root@web conf.d]# systemctl restart httpd
[root@web conf.d]# curl http://192.168.100.10:80
welcome to web1 site
[root@web conf.d]# curl http://192.168.100.10:8080
welcome to web2 site
[root@web conf.d]# 

相同IP和端口

//用域名来区分
# ------------------------------------------------------------------------------------

<VirtualHost 192.168.100.10:80>
    DocumentRoot "/var/www/web1"
    ServerName web1.example.com
</VirtualHost>

# ------------------------------------------------------------------------------------
<VirtualHost 192.168.100.10:80>
    DocumentRoot "/var/www/web2"
    ServerName web2.example.com
</VirtualHost>

# ------------------------------------------------------------------------------------
///var/named/cy.com (正向解析)中加入以下两条
web1    IN      A       192.168.100.10
web2    IN      A       192.168.100.10
// 修改web2的DNS(客服端)
[ipv4]
address1=192.168.100.20/24,192.168.100.254
dns=192.168.100.10;
method=manual
//重启named、httpd激活链接
[root@web conf.d]# systemctl restart named
[root@web conf.d]# systemctl restart httpd
[root@admins ~]# nmcli connection up ens160 
//测试查看结果
[root@admins ~]# ping web.example.com  //ping下
[root@admins ~]# curl http://web1.example.com  
welcome to web1 site
[root@admins ~]# curl http://web2.example.com
welcome to web2 site

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值