httpd服务

文章介绍了如何配置Apache的httpd服务,包括主配置文件与调用配置文件的使用,以及如何创建和配置虚拟主机以实现多站点服务。此外,还讨论了Web访问控制,如设置DocumentRoot、DirectoryIndex,以及通过SELinux添加访问端口。

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

对Apache的httpd服务的配置进行更改

主配置文件地址:/etc/httpd/conf/httpd.conf

调用配置文件:/etc/httpd/conf.d/*.conf

调用配置文件的意思是因为主配置文件太长(有可能几百行),在里面找其中的一个配置太麻烦,就可以使用调用配置文件,它会在主配置文件读取完成之后,再读取一遍调用配置文件

# 例子 本来要在/etc/httpd/conf/httpd.conf里找到DocumentRoot,修改对应的内容,有了调用配置文件后,直接写配置就行

mkdir /etc/httpd/conf.d/aa.conf
vim /etc/httpd/conf.d/aa.conf
DocumentRoot:'/var/www/myhtml'

Listen:监听地址:端口(80)

ServerName:本站点注册的DNS名称

DocumentRoot:设置网页文件根目录(/var/www/html)

DirectoryIndex:起始页/首页文件名(index.html )

虚拟Web主机

作用:由同一台服务器提供多个不同的Web站点

区分方式:

  • 基于域名的虚拟主机
  • 基于 端口的虚拟主机 www.aa.com:80 www.aa.com:8000
  • 基于IP地址的虚拟主机(不常用)
# 虚拟主机配置格式
<VirtualHost IP地址:端口>
	ServerName	此站点的DNS服务
	DocumentRoot 此站点的网页根目录
</VirtualHost>
# 例子
vim /etc/httpd/conf.d/aa.conf
<VirtualHost *:80>     #* 指本机的所有的IP
	ServerName	www.aa.com   # DNS域名,自己配置的
	DocumentRoot /var/www/myhtml
</VirtualHost>
<VirtualHost *:80>     #* 指本机的所有的IP
	ServerName	www.bb.com   # 域名不同
	DocumentRoot /var/www/myhtml
</VirtualHost>
Listen 8080  #监听端口
<VirtualHost *:8080>     #* 指本机的所有的IP,端口不同
	ServerName	www.bb.com   # 域名不同
	DocumentRoot /var/www/myhtml
</VirtualHost>

systemctl restart httpd  #更改配置后重启下服务
# 这样访问www.aa.com和www.bb.com就是两个不同的网站
#如果有两个虚拟域名,但是用户不用域名访问,二十直接通过地址访问(比如127.0.0.1),这样会默认访问第一个虚拟主机

一旦使用虚拟Web主机功能,所有的页面必须利用虚拟主机呈现

比如我还有一个/var/www/mydemo,我没有给它配置虚拟主机,那么我就访问不了它

Web访问控制

针对网页文件存放的路径进行访问控制,默认继承父目录访问控制

  • 进入配置文件/etc/httpd/conf/httpd.conf

  • 找到

    <Directiory “/var/www”>

    ​ Require all granted # 允许所有人

  • 注释:Directiory 代表目录 后面双引号的内容代表目录路径

    ​ Require all granted 的意思是 允许所有人

    ​ 此外还有其他权限

    ​ Require all denied #拒绝所有人

    ​ Require ip 127.0.0.2 #仅允许ip为127.0.0.2访问,127.0.0.2可以改为任意地址

  • 添加其他路径的访问权限

    # 建议基础配置和权限配置分成不同的配置文件,这样方便管理
    vim /etc/httpd/conf.d/bb.conf
    <Directiory "/webroot">
    	Require all granted  # 允许所有人
    </Directiory >
    :wq
    systemctl restart httpd
    
    # 在根下添加目录会被SELinux监控,所以还是无法访问,这个时候关闭SELinux即可 
    

SELinux添加访问端口

查看端口:semanage port -l (可以跟管道符查单个软件的端口)

​ semanage port -l | grep http

添加端口:semanage port -a -t http_port_t -t -p tcp 8080

-a : 添加 -t:类型 -p协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值