注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

520

凡事预则立,不预则废

 
 
 

日志

 
 

Ubuntu Linux下Apache基于域名的虚拟主机配置  

2014-10-28 17:11:23|  分类: 网络维护 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Ubuntu LinuxApache基于域名的虚拟主机配置

 

比如说有两个域名:a.jkzx.net以及b.jkzx.net两个域名要做解析

一、在/etc/apache2/site-available目录下创建ab两个文件,

a文件内容如下:

NameVirtualHost a.jkzx.net

<VirtualHost *:80>

       ServerName a.jkzx.net

       ServerAdmin webmaster@localhost

       DocumentRoot /var/www/

       ErrorLog ${APACHE_LOG_DIR}/error.log

       CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

b文件内容如下:

NameVirtualHost b.jkzx.net

<VirtualHost *:80>

       ServerName b.jkzx.net

       ServerAdmin webmaster@localhost

       DocumentRoot /var/www2/

       ErrorLog ${APACHE_LOG_DIR}/error.log

       CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

二、先令apache2默认的000-default.conf配置文件失效

(记住两个命令,一个是a2ensite让网站配置文件生效,一个是a2dissite让网站配置文件失效。)

sudo a2dissite 000-default.conf

然后再输入service apache2 reload

 

三、令刚才建立的ab文件生效

执行

sudo a2ensite a

sudo a2ensite b

命令使虚拟主机生效

并分别按要求输入service apache2 reload

 

四、因为a文件中的/var/www/目录在apache2中默认是可以访问的,因而我们还得设置b文件中的目录/var/www2也能访问,需要在/etc/apache2/中的apache2.conf文件中加入以下的语句:

<Directory /var/www2/>

         Options FollowSymLinks

         AllowOverride None

         Require all granted

</Directory>

 

五、vi /etc/hosts
插入下面两行
127.0.0.1 a.jkzx.net

127.0.0.1 b.jkzx.net

 

六、我的环境中加了反向服务器,因为访问a.jkzx.netb.jkzx.net时,通过反向服务器指向真实的网站服务器,假设a.jkzx.netb.jkzx.net两个网站的网站信息在网站服务器A中,IP192.168.0.88,因而我还得在反向服务器中的/etc/apache2/site-available目录建立两个文件cd,让其指向网站服务器AIP192.168.0.88

c的内容如下

<VirtualHost *:80>

ServerName a.jkzx.net

ServerAlias a.jkzx.net

ProxyPreserveHost On

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyPass / http://192.168.0.88

ProxyPassReverse / http://192.168.0.88

</VirtualHost>

 

d的文件

<VirtualHost *:80>

ServerName b.jkzx.net

ServerAlias b.jkzx.net

ProxyPreserveHost On

ProxyRequests Off

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyPass / http://192.168.0.88

ProxyPassReverse / http://192.168.0.88

</VirtualHost>

 

令刚才建立的cd文件生效

执行

sudo a2ensite c

sudo a2ensite d

命令使虚拟主机生效

并分别按要求输入service apache2 reload

 

到此,完成了基于域名的虚拟主机配置

 

---------------------------------------------------------

主要参考以下文章:

比如有两个域名www.linuxidc www.linuxidc.net两个域名要做解析

/etc/apache2/sites-available 目录下建立ab两个文件,这里只是为了使用的方便,你仔细观察可以看出在sites-enabled文件下也会有相关的文件连接(只是一个软连接)到sites-available 文件下相应的文件上


为了方便管理,这里做的都使用一个名称也容易记忆。

编辑相应文件内容如下

NameVirtualHost www.linuxidc
<VirtualHost www.linuxidc>
ServerName www.linuxidc
ServerAlias linuxidc *.linuxidc
ServerAdmin webmaster@linuxidc

DocumentRoot /var/www/a/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/a />
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2s default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/a.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>


文件b里的内容基本和a是一样的,只需要所少数几处改一下

执行

sudo a2ensite a

sudo a2ensite b

命令使虚拟主机生效

重启apache

Java
代码
/etc/init.d/apache2 restart

或者重新加载apache2

Java
代码
/etc/init.d/apache2 reload

修改hosts文件

Java
代码
vi /etc/hosts

插入下面两行

127.0.0.1 www.linuxidc

127.0.0.1 www.linuxidc.net

现在访问两个域名,会发现解析到了不同的目录

如果哪个虚拟主机不想使用只需要执行命令

Java
代码
a2dissite b

这样再访问www.linuxidc.net就不能正确解析

 

 

  评论这张
 
阅读(93)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017