这篇文章给大家分享的是有关单台服务器中怎么利用Apache的虚拟主机搭建多个Web站点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
<强>开发环境强>
先说下我各项开发环境参数:
- <李>
操作系统:RedHat6.7 (CentOS)
李> <李>Web服务器:apache2.2
李> <李>php5.6.30
李> <强>修改Apache配置强>
apache2.2的配置文件路径在/etc/httpd/conf/httpd.参看
我们用下面的命令修改apache的配置文件:
,美元vim /etc/httpd/conf/httpd。参看
<>强添加监听端口强>
找到如下的部分,
# #,听:Allows 你用bind Apache 用specific IP addresses 和/或 #,港口,addition 用拷贝,默认只阅读also 从而& lt; VirtualHost> #,指令。 # #,Change 却;能够用Listen 提醒specific IP addresses as shown below #,prevent Apache 得到glomming onto all bound IP addresses (0.0.0.0) # # Listen 12.34.56.78:80 Listen 80
默认的话,应该只会监听80端口,这里我们在后面加上用于另外站点的端口号,例如我们一个站点是默认80的端口,B站点计划搭建在8080年端口上,最终的配置文件修改成
… # Listen 12.34.56.78:80 Listen 80 Listen 8080
<>强启动并添加虚拟主机强>
接着在配置文件中找到下面的章节:
# # #, Section 3: Virtual 主机 # #,虚拟主机:If 你want 用maintain multiple 域/hostnames 提醒你 #,machine 你还要setup VirtualHost containers for 他们只Most 配置 #,use only  name-based virtual hosts so 从而server 并# 39;t need 用worry #,IP 地址只却;能够is indicated by 从而asterisks 拷贝,directives 下面。 # #,Please 阅读;从而documentation #,& lt; URL: http://httpd.apache.org/docs/2.2/vhosts/> #,for further  details before 你try 用setup virtual 主机。 # #,你may use 从而command line option & # 39; s # 39;,用verify your virtual 主机 #配置。 # #,Use name-based  virtual 托管。 # NameVirtualHost *: 80 以前,NameVirtualHost *: 8080 >上面的代码是我已经修改好的,默认的话,最后两行NameVirtualHost应该也是被注释掉了。因为我们要启用虚拟主机,所以这里就把我们之前监听的两个端口都设置好。
同时,将之后的配置文件修改成如下的样子,我们先来设置默认80的端口的站点一个
# #,VirtualHost 例如: #,Almost any  Apache directive may go into a VirtualHost 容器。 #,从而first VirtualHost  section is used for requests without a #,server 名字。 # & lt; VirtualHost *: 80比; #,ServerAdmin webmaster@dummy-host.example.com ,DocumentRoot /var/www/webA ServerName webA #,ErrorLog 日志/dummy-host.example.com-error_log #,CustomLog 日志/dummy-host.example.com-access_log 常见 & lt;/VirtualHost>默认的Apache是没有开启虚拟主机的,所以这些代码都是被注释掉了的,我们这里只需要把DocumentRoot和ServerName所在的行去掉注释并且编辑下就好了。
DocumentRoot指的的是我们一个站点的网站根目录位置
接下来再补充上8080端口的B站点信息就好了。
& lt; VirtualHost *: 8080比; ,DocumentRoot /var/www/韦伯 ServerName 韦伯 & lt;/VirtualHost>到这里,重启一下Apache服务(服务httpd重启),就可以访问两个不同的站点了。
<强>独立会话强>
如果我们的A, B两个站点的登录逻辑是用的一套代码,那我们使用后会发现,一站点和B站点的会话是共享的,也就是说,如果用户在一个站点登录了之后,B站点是无需登录,自动也处于登录状态;用户在一个站点退出后,也会自动从B站点退出。
这显然不是我们想要的结果,原因就是A, B两个站点公用了一套会话体系,所以才会造成这样的问题。
单台服务器中怎么利用Apache的虚拟主机搭建多个Web站点