目录
源码包安装apache
导入或下载httpd源码包
安装编译安装前置工具
解压httpd源码包
编译安装
关联启动文件
配置虚拟主机
相同IP/端口,不同域名配置
配置主配置文件
创建网页页面
配置虚拟主机文件
关闭防火墙启动服务
修改本地hosts文件,测试访问
相同域名/端口,不同IP配置
更改虚拟主机配置文件
启用临时子网卡
重启服务,测试访问
相同IP/域名,不同端口
修改主配置文件
修改虚拟主机配置文件
重启服务,测试访问
源码包安装apache
导入或下载httpd源码包
#curl -o 访问下载源码包
curl -o /root/httpd-2.4.25.tar.gz https://archive.apache.org/dist/httpd/httpd-2.4.25.tar.gz
官网下载地址:https://downloads.apache.org/httpd/httpd-2.4.62.tar.gz
https://downloads.apache.org/httpd/httpd-2.4.62.tar.gz
安装编译安装前置工具
yum -y install gcc gcc-c++ make apr-util apr-util-devel pcre-devel
解压httpd源码包
tar zxvf httpd-2.4.25.tar.gz
编译安装
cd httpd-2.4.25
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
关联启动文件
ln -s /usr/local/httpd/bin/* /usr/local/bin/
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
配置虚拟主机
相同IP/端口,不同域名配置
配置主配置文件
#配置主配置文件
vim /usr/local/httpd/conf/httpd.conf
#开启虚拟主机配置项
Include conf/extra/httpd-vhosts.conf

创建网页页面
#在http默认页面位置创建文件夹
cd /usr/local/httpd/htdocs/
mkdir abc yjs
#创建网页文件并写入内容
echo "www.abc.com" &> /usr/local/httpd/htdocs/abc/index.html
echo "www.yjs.com" &> /usr/local/httpd/htdocs/yjs/index.html
配置虚拟主机文件
- VirtualHost:虚拟主机配置项,IP及端口。
- DocumentRoot:文件根目录,页面存放路径。
- ServerName:域名。
- ErrorLog:错误日志文件路径。
- CustomLog:访问日志文件路径。
#编辑虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
#修改配置项
<VirtualHost 192.168.180.145:80>
DocumentRoot "/usr/local/httpd/htdocs/abc/ "
ServerName www.abc.com
ErrorLog "logs/www.abc.com-error_log"
CustomLog "logs/www.abc.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.180.145:80>
DocumentRoot "/usr/local/httpd/htdocs/yjs/ "
ServerName www.yjs.com
ErrorLog "logs/www.wjs.com-error_log"
CustomLog "logs/www.wjs.com-access_log" common
</VirtualHost>

关闭防火墙启动服务
#关闭防火墙和SELinux
systemctl stop firewalld && setenforce 0
#启动httpd服务
apachectl start

修改本地hosts文件,测试访问
#修改本地hoshs文件
vim /etc/hosts
192.168.180.144 www.abc.com
192.168.180.144 www.yjs.com
#curl访问域名测试
curl www.abc.com
curl www.yjs.com


相同域名/端口,不同IP配置
更改虚拟主机配置文件
#编辑虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
#修改配置项
<VirtualHost 192.168.180.145:80>
DocumentRoot "/usr/local/httpd/htdocs/abc/ "
ServerName www.abc.com
ErrorLog "logs/www.abc.com-error_log"
CustomLog "logs/www.abc.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.180.146:80>
DocumentRoot "/usr/local/httpd/htdocs/yjs/ "
ServerName www.yjs.com
ErrorLog "logs/www.wjs.com-error_log"
CustomLog "logs/www.wjs.com-access_log" common
</VirtualHost>

启用临时子网卡
#启用临时ens33的子网卡
ifconfig ens33:0 192.168.180.145
#查看网卡网路情况
ip add

重启服务,测试访问
#重启网络服务
apachectl restart
#curl IP测试访问
curl 192.168.180.144
curl 192,168.180.145

相同IP/域名,不同端口
修改主配置文件
#修改主配置文件
vim /usr/local/httpd/conf/httpd.conf
#添加监听8080端口
Listen 8080

修改虚拟主机配置文件
#编辑虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
#修改配置项
<VirtualHost 192.168.180.145:80>
DocumentRoot "/usr/local/httpd/htdocs/abc/ "
ServerName www.abc.com
ErrorLog "logs/www.abc.com-error_log"
CustomLog "logs/www.abc.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.180.145:8080>
DocumentRoot "/usr/local/httpd/htdocs/yjs/ "
ServerName www.yjs.com
ErrorLog "logs/www.wjs.com-error_log"
CustomLog "logs/www.wjs.com-access_log" common
</VirtualHost>

重启服务,测试访问
#重启网络服务
apachectl restart
#curl IP测试访问
curl 192.168.180.144:80
curl 192,168.180.144:8080
