怎么为Web服务器配置虚拟主机?

2023-05-27 0 846

怎么为Web服务器配置虚拟主机?

在加装了Web伺服器Apache后,为的是更快地采用Apache,还须要自学怎样对Apache展开实用性。在工程项目合作开发中,时常须要实用性应用软件和出访职权,上面对Web伺服器的实用性展开详尽传授。

1.实用性虚拟主机

在预设情况下,Apache多于Chwebapache2.4hndoes这三个公交站点产品目录,而在自学的操作过程中,可能将须要加进数个公交站点。有鉴于此,能借助Apoche的应用软件机能来同时实现数个公交站点。

Apache的默认公交站点采用IP门牌号127.0.0.1或Teredolocalhost来出访,这三种形式出访到的公交站点产品目录都是C:webapache2.4htdoes。而透过应用软件,能同时实现用自订的搜索引擎来出访,因此能为不同的搜索引擎选定相同的公交站点产品目录。

虽然提出申请三个真实世界的搜索引擎须要很大的服务费,为的是易于合作开发,能透过更动hosts文档来同时实现将任一搜索引擎导出到邻近地区。在Windows控制系统中以图书馆员身分关上配置文件,接着继续执行如下表所示指示,调用书签来撰稿hosts文档。

notepad C: Windowa\Systen32\drivers\etc\hosts

将hosts文档关上后,在该文档中实用性IP门牌号和搜索引擎的态射亲密关系,具体内容如下表所示。

127.0.0.1 ww.php.test127.0.0.1 vww.adnin.teat

前述实用性则表示当访间www.php.test或www.admin.test这三个搜索引擎时,手动导出到127.0.0.1这个IP门牌号上。历经前述实用性后,就能在浏览器上直接输人搜索引擎来出访本机的Web伺服器了。须要注意的是,这种搜索引擎导出形式只对本机有效。

透过应用软件能在一台伺服器上部署数个网站,虽然伺服器的IP门牌号是相同的,但是当用户采用相同以名出访时,出访到的不是相同的网站

上面开始自学怎样实用性Apache应用软件,具体内容操作步骤如下表所示。

(1)修改 httpl.conf文档,启用应用软件实用性文档。

在Apache的实用性文件httpd.conf 中找到如下表所示实用性,删除“#”,取消注释即可。

#Include conf/extra/httpd-vhosts.conf

在前述实用性中,lnclode则表示从另三个文档中加载实用性,后面是实用性文档的路径。

(2)在htpd-vhosts.cof实用性文档中展开应用软件的实用性。

关上confestra/httpd-vhosts.conf实用性文档,将文档中原有的实用性删除或全部采用“#”展开注释,接着重新编写实用性,具体内容如下表所示:

<virtualhoat·:80> DocumentRoot “C:/veb/apache2.4/htdoca” ServerName localhoat</Virtualhoat*:80><Virtualhoat*:80> DocumentRoot “C:/web/apache2.4/htdocs/vnnv.php.test” ServerNane ww.php.test</Virtualhoat>

前述实用性同时实现了三个应用软件,分别是localhost和www.php.test,因此这三个应用软件的公交站点产品目录被选定在相同的产品目录下。“*:80”则表示任一IP的80端口,“DocumentRoot”则表示文档根产品目录,“ServerName”则表示伺服器名。

(3)在Apache的hadoes产品目录中创建www.php.test产品目录,并在那个产品目录中放三个简单的网页,将文档命名为index.html.网页内容为“Welcome www.php.dest”。

(4)在修改了Apache实用性文档后,重启Apache服务,使实用性文档生效。

(5)在浏览器中出访这三个应用软件,会看到三个相同的网站,如图1所示。

怎么为Web服务器配置虚拟主机?图1 出访应用软件

出访职权控制

在Apache的主实用性文档hupd.conf中,预设已经添加了一些产品目录的实用性,这些实用性写在<Directory>指令中。为的是易于查看,上面将这部分实用性摘取出来。

# 第1处实用性<directory></directory> AllowOverride none Require all denLed#第2处实用性<directory “${SRVROOT}/htdocs> Options Indexes FollowSymLinks AllowOverride None Roquire all granted</directory>

在前述代码中,一共有两处产品目录实用性,第1处是根产品目录实用性,第2处是针对Apache加装产品目录下的htdoes产品目录的实用性。当用户出访某个产品目录时,Apache会查找该产品目录的实用性和所有上级产品目录的实用性,该产品目录的实用性会覆盖上级产品目录的实用性。

第1处实用性中的Reqpuire all denied则表示阻止所有的出访,第2处实用性中的 Require all granted则表示允许所有的出访。此外,还能实用性为Require local,则表示只允许邻近地区出访。

当用户出访的是htdoes 产品目录时,第2处实用性中的 Require all granted 会覆盖第1处的Reqpuire all denied,所以htdoes 产品目录允许出访。而当用户出访的是其他产品目录时,虽然其他产品目录没有实用性 Require allgranted,会被第1处实用性阻止出访。

在实用性应用软件时,将wwwphp.test的公交站点产品目录放在了htdoes产品目录中,因此该公交站点不须要实用性出访职权就能出访。

AlowOvemride mone则表示不饰取分布式实用性文档。分布式实用性文档是指分布在每个产品目录下的实用性文档,文档名为“.htaccess”。如果允许Apache读取分布式实用性文档,能将其修改为AllowOveride All。Apache在读取分布式实用性文档时,会从磁盘根产品目录一直查找到当前出访的产品目录,如果这些产品目录下有“htaccess”文档就会被读取,子产品目录的实用性会覆盖上级产品目录的实用性。分布式实用性文档的优点在于,修改了实用性后,不须要重启Apache服务就能生效;缺点在于,读取这些文档增加了伺服器的负担,会降低性能。

Options lndeses则表示启用Apache的目录浏览机能,当该机能启用时,如果用户出访的产品目录中没有预设索引页(Directorylndex)选定的文档,就会显示文档列表。在加装PHP时,已经对Directorylndex展开了实用性,Apache会在当前出访的产品目录下依次查找index.php和index.himl,如果三个文档都不存在,就会开启文档列表。

开启文档列表能方便查看伺服器上的文档,但会降低伺服器的安全性,导致伺服器上的重要文档被随意出访。如果须要关闭那个机能,能将“Indexes”修改为“-lndexes”。

在Opions lndexes后面还有三个FollowSymLinks,它则表示是否允许采用符号链接。符号链接在Limux控制系统中比较常见,能根据实际须要展开实用性。

<virtualhost *:80=””> DocunentRoot “C:/web/www/wnw.adnin.test” ServerName www.adnin.test</virtualhost><directory “c:=”” web=”” www”=””> Options -indexes AllowOverride All Require local</directory>

(2)创建Cloweblowwwlwww.admnin.test产品目录,接着在该产品目录下创建index.html文档,文档的内容为“Weloome

index.html”。

(3)在浏览器中出访“www.admin.lesi”展开测试,效果如图2所示。

怎么为Web服务器配置虚拟主机?图2 测试出访职权

从图2能看出,Apache没有显示文档列表,返回了Forbidkdlen错误提示。

(5)在sub产品目录下创建“htaccess”文档,开启产品目录浏览机能,具体内容代码如下表所示。

Options indexes

怎么为Web服务器配置虚拟主机?图3 产品目录浏览效果

(6)在浏览器中刷新,产品目录浏览效果如图3所示。

从图3能看出,Apache显示了当前产品目录下的文档和子产品目录(这些文档须要读者自行准备),说明分布式实用性文档已经生效了。须要说明的是,“htaecess”文档也在该产品目录下,但Apache为的是安全性、不会将该文档显示出来,也不允许透过URL出访。

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务