Apache部署与虚拟主机

Apache部署与虚拟主机

资源列表

操作系统 配置 主机 IP
CentOS7.3.1611 2C4G apache 192.168.72.154

基础环境

  • 关闭防火墙
python 复制代码
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
python 复制代码
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
python 复制代码
hostnamectl set-hostname apache

一、安装依赖

python 复制代码
yum -y install gcc gcc-* make
yum -y install apr-util-devel pcre-devel zlib-devel

二、源码编译及安装

1、解包

python 复制代码
tar zxf httpd-2.4.25.tar.gz -C /usr/src
cd /usr/src/httpd-2.4.25/

2、配置编译安装

python 复制代码
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
# --prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
# --enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
# --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
# --enable-charset-lite:启用字符集支持,以便支持使用各种字符集编码的网页。
# --enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。

make && make install

3、优化执行路径

  • 通过源码编译安装的 httpd 服务,程序路径并不在系统默认的搜索路径中,为了使 该服务在使用时更加方便,可以为相关程序添加符号链接
python 复制代码
ln -s /usr/local/httpd/bin/* /usr/local/bin
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl

4、添加为系统服务

  • 在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件, 用于控制由 Systemd 管理或监控的 httpd 服务
python 复制代码
cat > /lib/systemd/system/httpd.service << 'EOF'
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF

systemctl start httod.service
systemctl enable httpd.service
systemctl is-enabled httpd.service

三、虚拟主机

1、基于域名的虚拟主机

python 复制代码
# 为虚拟主机准备网页文档
mkdir -p /var/www/html/kgccom
mkdir -p /var/www/html/kccecom
echo "<h1>www.kgc.com</h1>"> /var/www/html/kgccom/index.html
echo "<h1>www.kcce.com</h1>"> /var/www/html/kccecom/index.html

2、添加虚拟主机配置

python 复制代码
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf


//创建独立的配置文件
<VirtualHost *:80>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/www.kgc.com.error_log"
    CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "/var/www/html/kccecom"
    ServerName www.kcce.com
    ErrorLog "logs/www.kcce.com.error_log"
    CustomLog "logs/www.kcce.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


//加载独立的配置文件
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf


# 重启服务
systemctl restart httpd

3、基于 IP 地址、基于端口的虚拟主机

  • 基于 IP 地址的虚拟主机
python 复制代码
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf


//创建独立的配置文件
<VirtualHost 192.168.72.154:80>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/www.kgc.com.error_log"
    CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


<VirtualHost 192.168.72.154:80>
    DocumentRoot "/var/www/html/kccecom"
    ServerName www.kcce.com
    ErrorLog "logs/www.kcce.com.error_log"
    CustomLog "logs/www.kcce.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost> 
  • 基于端口的虚拟主机
python 复制代码
vi /usr/local/httpd/conf/extra/httpd-vhosts.conf


//创建独立的配置文件
<VirtualHost 192.168.72.154:81>
    DocumentRoot "/var/www/html/kgccom"
    ServerName www.kgc.com
    ErrorLog "logs/www.kgc.com.error_log"
    CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


<VirtualHost 192.168.72.154:82>
    DocumentRoot "/var/www/html/kccecom"
    ServerName www.kcce.com
    ErrorLog "logs/www.kcce.com.error_log"
    CustomLog "logs/www.kcce.com.access_log" common
<Directory "/var/www/html">
    Require all granted
</Directory>
</VirtualHost>


# 还需要再主配置文件添加 Listen 进行监听端口
相关推荐
文慧的科技江湖17 小时前
2026年10月4日充电桩行业晚报:当“只充80%“成为通行规则,行业开始管单车占桩时长 | 慧知开源充电桩平台
开源·apache·新能源·虚拟电厂·充电桩·ocpp·v2g
nvd113 天前
# 从 192 秒到 13 秒:Apache Flink 批处理极速调优实战记录
大数据·flink·apache
众链网络4 天前
景区票务系统选型的技术尽调清单:从并发、数据到二次开发的 12 个必查项
apache·景区票务系统
AllData公司负责人5 天前
AllData数据中台物联网实时平台|集成 Apache StreamPipes,MQTT工业物联网数据实时预警实践案例
大数据·数据库·人工智能·物联网·apache·工业物联网·streampipes
白帽攻防录6 天前
SRC 挖洞:Apache Tomcat 加密拦截器绕过深度复盘,CVE-2026-34486 fail-open 一行代码怎么打穿集群通信
java·网络安全·tomcat·apache
筑梦之路6 天前
Kafka KRaft 模式 Kubernetes 部署手册(StatefulSet + apache/kafka 官方镜像)——筑梦之路
kafka·kubernetes·apache
网络豆22 天前
Apache Maven 鸿蒙 PC 适配全记录:把 JVM 构建工具交付到 HiShell
maven·apache·harmonyos
网络豆22 天前
Apache Hive 鸿蒙 PC 适配全记录:以 Qt 客户端打通 HiveQL、监控与元数据访问
hive·apache·harmonyos
网络豆22 天前
Apache HBase 鸿蒙 PC 适配全记录:用 Qt 原生客户端打通 REST 管理与数据读写
apache·hbase·harmonyos
无巧不成书021823 天前
Apache Tomcat 9 下载全指南(Windows,Linux,macOS):版本选型、国内镜像、SHA-512 与 PGP 完整性校验
windows·tomcat·apache