设置虚拟目录
具体做法如下:
Alias /虚拟目录名/ " /路径/"
<Directory " /路径/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
建立虚拟主机
我们再添加一个虚拟主机站点 web1,首先到 /etc/apache2/sites-available/ 目录中建立一个文件 web1,编辑该文件:
<VirtualHost *:80>
ServerName sso.web1.com
ServerAdmin sso1@mail.web1.com
DocumentRoot "/var/www/web1/"
ErrorLog "/var/log/apache2/web1_errors.log"
CustomLog "/var/log/apache2/web1_accesses.log"common
</VirtualHost>
设置的具体含义同上面的相似,这是我就不再多说了。然后再运行命令:
sudo a2ensite web1
这样的话,虚拟主机站点 sso.web1.com 就已经安装好了。这时你也可以在 /etc/apache2/sites-enabled/ 目录中发现多了一个到 /etc/apache2/sites-available/web1 的软链接。接下来就是将 Apache2 重启来使虚拟主机站点运行起来:
sudo /etc/init.d/apache2 restart 这里可以使用reload 重新加载
这样你在浏览器上输入 sso.web1.com 的话,就会被指向 /var/www/web1 目录了,而输入其他指向本机的域名则都会指到缺省配置中的 /var/www 目录中。熟悉 Apache2 的朋友会问为什么这样麻烦,放在一个文件中不也是可以吗?为什么要用两个文件呢?其实很简单,因为如果我要对 web1 站点进行维护时,只要运行命令:
sudo a2dissite web1
sudo /etc/init.d/apache2 restart
即可,这样既可以维护 web1 这个站点,同时还不影响其他站点的正常运行。
之后修改本机host文件下的映射就可以通过输出不同域名来打开不同网站了。
通过不同端口同一ip来布置网站
一、修改站点文件(/etc/apache2/sites-available/default)
<VirtualHost *:80>将端口号修改为808
二、vim /etc/apache2/ports.conf
找到listen 80
在这行下面加上 listen 808
重启apache服务
打开浏览器可以通过192.168.153.130:80 / 192.168.153.130:808访问到不同网站
NameVirtualHost 192.168.16.201
<VirtualHost www.abc.com>
ServerName www.abc.com:80
ServerAdmin web1@sohu.com
ServermentRoot "/www/x1“
DirectoryIndex index.html
ErrorLog logs/x1/error_log
CustomLog logs/x1/access_log combined
</VirtualHost>
NameVirtualHost 192.168.16.201
<VirtualHost www.xyz.com>
ServerName www.xyz.com:80
ServerAdmin web2@sohu.com
ServermentRoot "/www/x2“
DirectoryIndex index.asp
ErrorLog logs/x2/error_log
CustomLog logs/x2/access_log combined
</VirtualHost>
在Apache2中,有效的站点信息都存放在/etc/apache2/sites-available/用户名(文件) 里面。我们可以添加格式如下的信息来增加一个有效的虚拟空间:
<VirtualHost *>
# 在ServerName后加上你的网站名称
ServerName www.linyupark.com
# 如果你想多个网站名称都取得相同的网站,可以加在ServerAlias后加上其他网站别名。
# 别名间以空格隔开。
ServerAlias ftp.linyupark.commail.linyupark.com
# 在ServerAdmin后加上网站管理员的电邮地址,方便别人有问题是可以联络网站管理员。
ServerAdmin webmaster@linyupark.com
# 在DocumentRoot后加上存放网站内容的目录路径(用户的个人目录)
DocumentRoot /home/linyupark/public_html
<Directory/home/linyupark/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews+SymLinksIfOwnerMatch
Allow from all
</Directory>
ErrorLog/home/linyupark/public_html/error.log
# Possible values include: debug, info,notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/linyupark/public_html/access.logcombined
ServerSignature On
</VirtualHost>
如果你的服务器有多个IP,而不同的IP又有着不一样的虚拟用户的话,可以修改成:
<VirtualHost IP地址[:端口]>
...
</VirtualHost>