Apache配置虚拟主机三种方式(保姆级教学)

article/2025/9/1 15:27:50

由于本人很笨,第一次学步骤比较多。想学的可以耐下心来看、来学。

实验环境:ContOS 7,Apache服务器

在ContOS中可以运行一下代码直接下载

[root@localhost ~]# yum install -y httpd

下载完可以查看下载的内容

[root@localhost ~]# rpm -ql httpd | less

配置Selinux文件

[root@localhost ~]# vim /etc/selinux/config

找到并改成下面的

SELINUX=disabled

SELINUXTYPE=targeted

关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

启动httpd服务,访问测试

[root@localhost ~]# systemctl start httpd

然后在浏览器输入你CentOS的ip地址,出现下面的页面说明下载完成。

 一:基于多IP地址方式

1.创建配置文件

[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# vim virtual.conf

在里面将下面代码写入

<VirtualHost 192.168.253.128:80>
        ServerName a.com
        DocumentRoot "/www/a.com/"    
</VirtualHost>

<VirtualHost 192.168.253.129:80>
        ServerName b.com
        DocumentRoot "/www/b.com/"    
</VirtualHost>


2.网卡绑定多个IP(这里我的网卡名是ens33)

[root@localhost conf.d]# ip addr add 192.168.81.137 dev ens33
[root@localhost conf.d]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eno33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:5c:ff:91 brd ff:ff:ff:ff:ff:ffinet 192.168.81.136/24 brd 192.168.253.255 scope global dynamic eno16777736valid_lft 1542sec preferred_lft 1542secinet 192.168.81.137/32 scope global eno16777736valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe5c:ff91/64 scope link valid_lft forever preferred_lft forever

3.创建虚拟主机a.com和b.com的主页面

[root@localhost conf.d]# mkdir -pv /www/{a.com,b.com}
mkdir: 已创建目录 "/www"
mkdir: 已创建目录 "/www/a.com"
mkdir: 已创建目录 "/www/b.com"
[root@localhost conf.d]# vim /www/a.com/index.html

进入/a.com/index.html,将下面代码写入

<h1>Hello,a.com</h1>

[root@localhost conf.d]# vim /www/b.com/index.html

进入/b.com/index.html,将下面代码写入

<h1>Hello,b.com</h1>

4.检查配置问价是否正常

[root@localhost conf.d]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

5.重启httpd服务

[root@localhost conf.d]# systemctl restart httpd

6.打开浏览器,查看结果

 

 二、基于多端口方式

1.创建配置文件

[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# vim virtual.conf

将下面代码写入(当然里面有的就不写入了)

<VirtualHost 192.168.253.128:80>
        ServerName a.com
        DocumentRoot "/www/a.com/"
</VirtualHost>

<VirtualHost 192.168.253.128:8080>
        ServerName b.com
        DocumentRoot "/www/b.com/"
</VirtualHost>
2.修改httpd主配置文件

[root@localhost conf.d]# vim /etc/httpd/conf/httpd.conf

在里面找到Listen 80,然后在下面写入一行Listen 8080

3.创建虚拟主机a.com和b.com的主页面(前面已经创建过了就不用重复创建)

4.检查配置文件

[root@localhost conf.d]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

5.重启httpd服务

[root@localhost conf.d]# systemctl restart httpd

6.打开浏览器,查看结果

三.基于域名的方式

1.创建配置文件

[root@localhost ~]# cd /etc/httpd/conf.d/
[root@localhost conf.d]# vim virtual.conf

写入下面的代码

<VirtualHost *:80>
        ServerName a.com
        DocumentRoot "/www/a.com/"
</VirtualHost>

<VirtualHost *:80>
        ServerName b.com
        DocumentRoot "/www/b.com/"
</VirtualHost>
2.修改物理主机hosts文件(C:\Windows\System32\drivers\etc),这里是因为物理机去访问Apache服务器

在hosts文件里面添加

192.168.81.136 a.com

192.168.81.136 b.com

3.物理主机ping域名测试

 4.创建虚拟主机a.com和b.com的主页面(这里前面已经创建过了就不重复了)

5.检查配置文件

[root@localhost conf.d]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK

 6.重启httpd服务

[root@localhost conf.d]# systemctl restart httpd

 7.打开浏览器,查看结果

 

 


http://chatgpt.dhexx.cn/article/TOyYKu4B.shtml

相关文章

Apache的虚拟主机

一&#xff1a;web的虚拟主机 虚拟web主机指的是在同一台服务器中运行多个web站点&#xff0c;其中的每个网站并不单独占用整个服务器&#xff0c;因此被称为“虚拟”web主机&#xff0c;通过虚拟web主机服务可以充分利用服务器的硬件资源&#xff0c;从而降低网站构建与运行成…

excel一直显示“操作系统当前的配置不能运行此应用程序”

问题描述 我的系统win10&#xff0c;操作x64,安装office2019&#xff0c;由于学习中不经常使用到excel时隔半年我今天打开excel一直显示“操作系统当前的配置不能运行此应用程序 ”&#xff0c;好家伙给我整不会了&#xff0c;不慌让我们打开百度&#xff01;百度半天都没有解…

由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题

我们用 VS 2005 编写非托管的程序, 在一台未安装 .net 开发环境的机器上运行会出现 "由于应用程序的配置不正确&#xff0c;应用程序未能启动&#xff0c;重新安装应用程序可能会纠正这个问题"。 开始时还以为必须要安装 .net Framework 2.0 &#xff0c; 然后安装…

由于应用程序配置不正确,程序未能启动”--原因及解决方法

由于应用程序配置不正确,程序未能启动”--原因及解决方法 http://moogge.spaces.live.com/blog/cns!ab9b00d806d52aed!245.entry 问题描述:当运行由VC 2005 编译的程序时,出现错误消息“由于应用程序配置不正确,程序未能启动.重新安装应用程序可能会纠正这个错误”解决方法…

一种解决运行程序报“应用程序配置不正确”的问题

在我们开发工程中&#xff0c;可能有些情况下&#xff0c;不能在本机进行调试。这个时候我们一般会使用VM&#xff08;vmware)建立一个虚拟机环境&#xff0c;然后把编译过的程序放在该虚拟机环境下执行调试。可是在某些情况下&#xff0c;不管我们编译的是debug还是release版本…

C# .NET 解决提示“由于应用程序配置不正确,应用程序未能启动..”的错误

C# 应用程序开发时&#xff0c;修改程序代码后&#xff0c;调试运行程序 莫名其妙弹出这个报错。 百度找解药呀&#xff0c;&#xff0c;找了好多方法&#xff0c;&#xff0c;都是 " 项目--->配置属性---->链接器---->清单文件--->生成清单-->设置为&q…

Win11应用程序启动提示配置不正确解决方法

Win11应用程序启动提示配置不正确解决方法分享。近期有不少的用户遇到了在启动应用程序的时候&#xff0c;出现错误提示的问题。出现的错误提示是应用配置不正确&#xff0c;那么这个错误提示问题要怎么去进行解决&#xff0c;一起看看具体的解决方法吧。 解决方法&#xff1a;…

“应用程序配置不正确, 程序无法启动”解决方法

最近在XP 32位系统上用VS2008开发的MFC Application程序在没有安装VS2008的Win7系统上双击运行以后出现了“应用程序配置不正确, 程序无法启动”的bug。经过半天时间的研究整理出三种方案可以用来解决该问题。 方法一:对于不需要运行时函数支持的工程可以采用该方法。 (1)…

nmap参数

nmap参数&#xff08;转&#xff09; 进行ping扫描&#xff0c;打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测): nmap -sP 192.168.1.0/24 仅列出指定网络上的每台主机&#xff0c;不发送任何报文到目标主机: nmap -sL 192.168.1.0/24 探测目标主…

主动扫描技术nmap详解

主动扫描与被扫描目标有一个互动的过程&#xff0c;目标是可能知道自己在被扫描的&#xff1b;主动扫描一般都是针对目标发送特制的数据包&#xff0c;然后根据目标主机的反应来获得一些信息&#xff0c;帮助我们过滤无意义的主机&#xff0c;建立目标的网络拓扑&#xff0c;主…

nmap 扫描数据分析

本案22端口为开放端口&#xff0c;110为未开放端口 Wireshark上使用下面的表达式 ip.addr192.168.104.127 and ip.addr192.168.104.61 and tcp.port22 ip.addr192.168.104.127 and ip.addr192.168.104.61 and tcp.port110 命令一、 nmap -sS SYN-->SYN ACK-->RST …

Nmap专题

Nmap专题笔记 介绍网络扫描相关概念和Nmap的作用。介绍Nmap相关概念、演示简单的安装过程。列举Nmap的主要参数&#xff0c;介绍相关参数。实例演示Nmap的常用扫描技巧。介绍使用Nmap的脚本扫描。 建议学习方法 1.熟记Nmap的主要参数命令。 2.学习OSI七层模型的相关知识&…

Nmap扫描

基本快速扫描 Nmap 默认发送一个arp的ping数据包来探测目标主机在1-10000范围内所开放的端口。 nmap 10.130.1.43 快速扫描多个目标 nmap <target ip1 address> <target ip2 address> nmap 10.130.1.28 10.130.1.43 详细描述输出扫描 简单扫描并对返回的结果详细描…

Nmap入门

Nmap入门 Nmap介绍 nmap是用来探测网络、目标主机的操作系统&#xff0c;安全审计的工具&#xff0c;可以用来快速扫描。nmap也有图形界面。 特点&#xff1a; 主机测试端口扫描版本检测支持探测脚本的编写 kali虚拟机中本来就有nmap&#xff0c;所以安装好kali之后直接在…

网络安全nmap扫描端口命令详解linux网络探测

简介&#xff1a; nmap是一个网络连接端扫描软件&#xff0c;用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端&#xff0c;并且推断计算机运行哪个操作系统&#xff08;这是亦称 fingerprinting&#xff09;。它是网络管理员必用的软件之一&#xff0c;以及用…

cut指令

一、定义 正如其名&#xff0c;cut的工作就是“剪”&#xff0c;具体的说就是在文件中负责剪切数据用的。cut以行为单位处理数据&#xff0c;而不是整篇信息分析&#xff0c;这种机制和sed一样。 二、作用 将同一行里面的数据进行分解&#xff0c;最常使用在分析一些数据或文…

jieba分词cut与lcut的区别

从分词的效果来看两者没有区别。 区别在于分词后结果的表示形式。 例如&#xff1a;lcut分词 str_text "本法所称突发事件&#xff0c;是指突然发生&#xff0c;造成或者可能造成严重社会危害&#xff0c;需要采取应急处置措施予以应对的自然灾害、事故灾难、公共卫生…

linux之cut的使用

cut是一个选取命令&#xff0c;就是将一段数据经过分析&#xff0c;取出我们想要的。一般来说&#xff0c;选取信息通常是针对“行”来进行分析的&#xff0c;并不是整篇信息分析的 其语法格式为&#xff1a; cut [-bn] [file] 或 cut [-c][file] 或 cut [-df] [file]使用说明:…

图像分割之(三)从Graph Cut到Grab Cut

图像分割之&#xff08;三&#xff09;从Graph Cut到Grab Cut zouxy09qq.com http://blog.csdn.net/zouxy09 上一文对GraphCut做了一个了解&#xff0c;而现在我们聊到的GrabCut是对其的改进版&#xff0c;是迭代的Graph Cut。OpenCV中的GrabCut算法是依据《"GrabCut&qu…

shell中cut用法简介

shell中的cut命令 (2010-03-30 17:05:31) 转载▼ 标签&#xff1a; shell cut 杂谈 分类&#xff1a; shell cut是以每一行为一个处理对象的&#xff0c;这种机制和sed是一样的。&#xff08;关于sed的入门文章将在近期发布&#xff09; 2 cut一般以什么为依据呢? 也就是说&a…