Apache服务配置

本文详细介绍了如何在Linux环境下配置Apache服务,包括构建基于域名、IP和端口的虚拟主机,以及虚拟目录与用户授权的设置。此外,还讲解了日志分割的实现方法,以优化服务器管理和资源利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、构建虚拟web主机

  • 虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中的每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
  • 总结来讲就是一个httpd服务可以同时运行支持多个web站点

httpd 支持的虚拟主机类型包括以下三种

  1. 基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP 地址是相同的
  2. 基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同,这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛,但相对安全
  3. 基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虛拟站点时需要同时指
    定端口号才能访问。

二、配置虚拟主机

值得注意的是:

  • 以yum或rpm方式安装的Apache软件默认首页目录为:/var/www/html
  • 以源码安装的Apache软件默认首页目录为:/usr/local/httpd/htdocs

1. 基于域名的虚拟主机

1.1 为虚拟主机提供域名及解析

方法一:配置dns服务
方法二:添加hosts主机映射

[root@www ~]# echo "192.168.100.30 www.wwhao.com" >> /etc/hosts
[root@www ~]# echo "192.168.100.30 www.xxx.com" >> /etc/hosts

在这里插入图片描述

1.2 添加虚拟主机的配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf (源码安装的主配置文件路径)

模板修改和注释信息如下:
在这里插入图片描述
在这里插入图片描述

1.3 准备虚拟主机网页文档

在这里插入图片描述

1.4 设置访问控制

在这里插入图片描述
在这里插入图片描述

1.5加载独立的配置文件
vim /usr/local/httpd/conf/httpd.conf
#源码编译安装的httpd服务主配置文件路径

------483行------取消注释
Include conf/extra/httpd-vhosts.conf    #加载独立的配置文件

vim /etc/httpd/conf/httpd.conf
(RPM或YUM安装的httpd服务主配置文件路径)		
IncludeOptional conf.d/*.conf   		#最后一行已默认开启此项

systemctl restart httpd  修改完记得重启服务或重载配置文件

在这里插入图片描述

1.6 访问域名验证

在这里插入图片描述
在这里插入图片描述

2. 基于ip的虚拟主机

可以添加一个物理网卡 也可以添加一个虚拟网卡
这里为了方便就添加了一个虚拟网卡

2.1 添加虚拟网卡
ifconfig ens33:0 192.168.100.66 netmask 255.255.255.0 

在这里插入图片描述

2.2 修改配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

只需修改IP地址 其他可不用修改
在这里插入图片描述
因为两个ip 所以也需将主配置文件里的 监听地址添加一条

vim /usr/local/httpd/conf/httpd.conf

在这里插入图片描述
然后重启测试
在这里插入图片描述
在这里插入图片描述

3.基于端口的虚拟主机

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

跟着上面的配置项 只需修改下端口即可
在这里插入图片描述

vim /usr/local/httpd/conf/httpd.conf

在这里插入图片描述
网页验证
在这里插入图片描述
在这里插入图片描述

三、构建虚拟目录与用户授权

1.创建认证数据文件

cd /usr/local/httpd/bin

./htpasswd -c /usr/local/httpd/user tset 
 #-c选项表示新建用户数据文件,再次创建则不需要加-c

cat /usr/local/httpd/user        #确认用户数据文件

在这里插入图片描述

2. 添加授权配置

vim /usr/local/httpd/conf/httpd.conf 

-----末行添加------

Alias /test /var/www/html/test  
             
<Directory "/var/www/html/test">            
AuthName "Hello!"                           
AuthType Basic                              
AuthUserFile /usr/local/httpd/user     
Require valid-user                          
#authgroupfile /usr/local/httpd/conf/group 
#Require user test                 
#Require group test               
</Directory>


在这里插入图片描述

3. 验证

mkdir -p /var/www/html/test

echo "<h1>hello linux! </h1>" > /var/www/html/test/index.html

systemctl restart httpd

网站输入 http://192.168.100.30:80/test

在这里插入图片描述
在这里插入图片描述

四、日志分割

使用Apache自带rotatelogs分割工具,将Apache的日志进行按每天的日期自动分割

vim /usr/local/httpd/conf/httpd.conf

-----274行附近-----修改
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400"                #分割错误日志

-----304行附近-----修改
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined        #分割访问日志

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf     #虚拟主机也可以进行分割
ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/xxx.com-error_%F.log 86400"
CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/xxx.com- access_%F.log 86400" combined
#开头的|为管道符号。
#-l选项表示使用本地时间为时间基准。
#86400表示1天,即每天生成一个新的日志文件。

mkdir /var/log/httpd                   #创建分割后的日志文件保存目录

systemctl restart httpd
ls /var/log/httpd

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值