Linux如何安装Apache服务器_Linux下Httpd服务部署与虚拟主机设置【指南】
发布时间 - 2025-12-27 00:00:00 点击率:次Apache是Linux搭建Web服务器最常用选择,需按发行版安装(如yum/dnf/apt)、启动并设开机自启、开放防火墙80/443端口、配置虚拟主机及本地hosts解析。
如果您希望在Linux系统中搭建Web服务器,Apache(httpd)是最常用的选择之一。以下是针对主流Linux发行版安装Apache、启动服务并配置虚拟主机的详细操作步骤:
一、安装Apache服务
Apache在不同发行版中包名略有差异,需根据系统类型选择对应安装命令。安装过程会自动部署基础配置文件与默认站点目录。
1、在CentOS/RHEL 7/8/9系统中执行:
yum install httpd -y
2、在CentOS/RHEL 9或AlmaLinux/Rocky Linux 9中若使用dnf:
dnf install httpd -y
3、在Ubuntu/Debian系统中执行:
apt update && apt install apac
he2 -y
4、安装完成后,确认httpd或apache2服务已正确安装且无依赖报错。
二、启动并启用开机自启
安装完毕后需手动启动服务,并设置为系统启动时自动运行,确保Web服务持续可用。
1、在RHEL/CentOS/AlmaLinux系统中执行:
systemctl start httpd && systemctl enable httpd
2、在Ubuntu/Debian系统中执行:
systemctl start apache2 && systemctl enable apache2
3、验证服务状态:
systemctl status httpd(或apache2)
4、若状态显示“active (running)”,表示服务已正常启动。
三、开放防火墙端口
默认情况下,firewalld或ufw可能阻止外部对HTTP(端口80)和HTTPS(端口443)的访问,需显式放行。
1、在启用firewalld的系统中执行:
firewall-cmd --permanent --add-service=http && firewall-cmd --permanent --add-service=https && firewall-cmd --reload
2、在Ubuntu/Debian启用ufw时执行:
ufw allow 'Apache Full'
3、执行后需确认端口80在netstat或ss输出中处于LISTEN状态。
四、配置基于域名的虚拟主机
虚拟主机允许单台服务器托管多个网站,通过ServerName区分请求目标。需在主配置中启用vhost支持并创建独立配置文件。
1、在CentOS/RHEL系统中,编辑/etc/httpd/conf/httpd.conf,确保包含:
Include conf.modules.d/*.conf 和 Include conf.d/*.conf
2、在/etc/httpd/conf.d/目录下新建文件site1.conf:
ServerName example1.local
DocumentRoot /var/www/site1
ErrorLog /var/log/httpd/site1_error.log
3、在Ubuntu/Debian系统中,使用a2ensite启用站点:
echo "
4、每次修改虚拟主机配置后必须执行systemctl reload httpd(或apache2)生效。
五、设置本地DNS解析以测试虚拟主机
在未配置公网DNS的情况下,可通过修改本机hosts文件将自定义域名映射至本地IP,实现浏览器直接访问。
1、编辑/etc/hosts文件:
sudo nano /etc/hosts
2、在文件末尾添加两行:
127.0.0.1 example1.local
127.0.0.1 example2.local
3、为每个虚拟主机创建对应根目录并放置测试页:
mkdir -p /var/www/site1 && echo "
Site 1
" > /var/www/site1/index.html4、保存后,在浏览器中分别访问http://example1.local和http://example2.local,应显示不同内容。
# linux
# centos
# html
# apache
# 防火墙
# 浏览器
# 端口
# ubuntu
# ai
# dns
# dnf
# 配置文件
# echo
# include
# var
# http
# https
# debian
# 虚拟主机
# 最常用
# 情况下
# 发行版
# 如果您
# 多个
# 自定义
# 报错
# 可通过
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Java遍历集合的三种方式
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
如何快速生成橙子建站落地页链接?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何用虚拟主机快速搭建网站?详细步骤解析
网站图片在线制作软件,怎么在图片上做链接?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
怎么用AI帮你设计一套个性化的手机App图标?
怎样使用JSON进行数据交换_它有什么限制
如何用狗爹虚拟主机快速搭建网站?
js代码实现下拉菜单【推荐】
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
如何快速搭建高效简练网站?
如何在IIS中新建站点并配置端口与物理路径?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
jQuery中的100个技巧汇总
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何注册花生壳免费域名并搭建个人网站?
重庆市网站制作公司,重庆招聘网站哪个好?
JavaScript中的标签模板是什么_它如何扩展字符串功能
详解jQuery中基本的动画方法
做企业网站制作流程,企业网站制作基本流程有哪些?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
详解vue.js组件化开发实践
如何在IIS中新建站点并解决端口绑定冲突?
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel如何实现一对一模型关联?(Eloquent示例)
Linux后台任务运行方法_nohup与&使用技巧【技巧】
网站制作免费,什么网站能看正片电影?
开心动漫网站制作软件下载,十分开心动画为何停播?
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
佛山网站制作系统,佛山企业变更地址网上办理步骤?
香港服务器部署网站为何提示未备案?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何快速辨别茅台真假?关键步骤解析
javascript日期怎么处理_如何格式化输出
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
浅谈Javascript中的Label语句
如何快速生成高效建站系统源代码?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
JS去除重复并统计数量的实现方法
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】

