最简单的
NameVirtualHost *
ServerName rashost.com/blog
DocumentRoot "c:/wamp/www/vpsblog/"上面配置的站点是 vpsblog.rashost.com/ ,该站点对应的目录是”c:/wamp/www/vpsblog/”,站点名称和目录名称你当然要根据自己的需要自己定。
例
1、示例绑定:
■IP地址192.168.1.100
■对应两个域名http://你的域名.com和http://bbs.你的域名.com(二级域名)
2、绑定过程
a、打开http.conf,该文件位置在apache/conf下面,直接用文本编辑器即可打开。
b、添加以下字段,位置靠近ServerName 127.0.0.1或ServerName localhost:80下面附近,方便修改和理解。
代码如下 | 复制代码 |
<VirtualHost 192.168.1.100> DocumentRoot D:/xampp/htdocs/你的域名.com ServerName 你的域名.com </VirtualHost> <VirtualHost 192.168.1.100> DocumentRoot D:/xampp/htdocs/你的域名.com/bbs ServerName bbs.你的域名.com </VirtualHost> |
这个方法是对指定IP地址的主机比较适合,但是如果是动态获取IP地址的主机就有问题了,则可以把<VirtualHost 192.168.1.100>统一修改为<VirtualHost *:80>,这样设置后APACHE不再对IP区分,只根据ServerName和处理优先级识别。比如很多虚拟主机要求使用CNAME解析域名,那么该虚拟主机的IP可能会变化的,就无法使用上面的配置方法,还是<VirtualHost *:80>要更好用一些
Linux VPS下的Apache的站点绑定
Ubuntu下Apache的配置文件知识
Debian/Ubuntu的apache的配置文件的管理方式是一样的,Ubuntu本身就是基于Debian的,所以很多配置和Debian几乎一模一样。Debian/Ubuntu的apache配置文件都在/etc/apache2目录下。/etc/apache2下面有几个配置文件,还有几个子目录。/etc/apache2下面的配置文件逐个解释如下:
/etc/apache2/apache2.conf
主配置文件,不精通apache不要修改此文件
/etc/apache2/httpd.conf
这个文件的存在是为了保持兼容性,即使你精通apache,我也建议不要修改此文件
/etc/apache2/ports.conf
这个文件用来配置apache的监听的端口,不精通者请不要修改
/etc/apache2下面的几个目录解释如下:
/etc/apache2/conf.d
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容
/etc/apache2/mods-available
这个目录下是一些零碎的配置文件,不建议修改,apache不会读取此目录下的文件。该目录下的文件一般都是某个apache模块的配置文件
/etc/apache2/mods-enabled
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容。该目录下的文件一般都是某个apache模块的配置文件
/etc/apache2/sites-available
这个目录下是一些零碎的配置文件,不建议修改,apache不会读取此目录下的文件,该目录下的文件一般都是某个站点的配置文件
/etc/apache2/sites-enabled
apache会读取这个目录下的任何文件,这些文件的内容都是配置文件的一部分,不建议修改此目录下的任何内容,该目录下的文件一般都是某个站点的配置文件
从上面的列表可以看出,mods-available和mods-enabled这两个目录的区别是apache是否去读取这个目录。有个疑问:如果apache从来不读取mods-available目录,那要它何用?答案是mods-available下存放所有apache模块的配置文件,但这些模块不一定是激活的,激活的模块的配置文件链接到mods-enabled下面,如果没有链接到mods-enabled下面,那肯定是一些没有激活的模块。a2enmod命令可以列出mods-available下面的所有模块,管理员可以选择激活哪个模块,激活之后的模块就会在mods-enabled下面添加一个链接。
同理,sites-available和sites-enabled这两个目录也是这样的原理,a2ensite命令可以列出sites-available下存在的站点文件,可以创建站点文件的链接到sites-enabled目录下。
a2enmod == Apache2 ENable MODule
a2ensite == Apache2 ENable SITE
缺省情况下,sites-available下只有一个文件default,sites-available/default链接到sites-enabled目录下的链接名为000-default。apache的习惯是一个站点一个配置文件,但我们为了方便管理,把所有的站点的配置都保存到default这个文件里面。
怎样创建新站点
1.确定新站点的域名和别名,域名是必须的,别名可以没有,别名也是域名,只不过不是主域名而已。比如我的站点域名是rashost.com,别名有两个,分别是rashost.com和home.rashost.com。
2.更改域名和别名的DNS,解析到VPS的IP地址。比如到rashost.com的域名注册商的控制面板里面修改上面三个DNS记录,都指向我的VPS的IP地址。
3.等待域名更改生效,这个过程通常是0到48小时。运行ping命令可以查看域名指向是否更改过来,比如:ping rashost.com,如果显示的IP是VPS的IP,则表明生效了
4.用root用户SSH登录到VPS,运行命令创建新用户: adduser rashost.com ,更改密码: passwd rashost.com。修改/etc/apache2/sites-available/default文件,在文件的末尾加入下面这段配置后运行/etc/init.d/apache2 force-reload重新启动apache
5.用新用户rashost.com登录到VPS,运行命令 mkdir public_html 创建public_html目录
6.通过FTP,把网页文件传送到public_html目录下
7.然后就可以通过浏览器访问新站点了
代码如下 | 复制代码 |
ServerName 111cn.net ServerAlias rashost.com home.rashost.com DocumentRoot /home/rashost.com/public_html/ |
那么linux中如何绑定多站点呢
例如:VPS的IP是94.249.188.58,需要将111cn.net绑定到/var/www/html/dir1,将wuleilei.net绑定到/var/www/html/dir2。
打开http.conf:
1、将#ServerName www.example.com:80修改成ServerName 94.249.188.58:80,注意别忘记了将句首的#去掉;
2、将#NameVirtualHost *:80修改成NameVirtualHost 94.249.188.58:80,注意别忘记了将句首的#去掉;
3、在文件最后面有虚拟主机格式:
代码
代码如下 | 复制代码 |
1.#<VirtualHost 94.249.188.58:80> 2.# ServerAdmin webmaster@dummy-host.example.com 3.# DocumentRoot /www/docs/dummy-host.example.com 4.# ServerName dummy-host.example.com 5.# ErrorLog logs/dummy-host.example.com-error_log 6.# CustomLog logs/dummy-host.example.com-access_log common 7.#</VirtualHost> |
在后面添加:
代码如下 | 复制代码 |
1.*IP访问/var/www/html/dir目录 <VirtualHost 94.249.188.58:80> 2. ServerAdmin webmaster@dummy-host.example.com 3. DocumentRoot /var/www/html/dir 4. ServerName 94.249.188.58 5. ErrorLog logs/dummy-host.example.com-error_log 6. CustomLog logs/dummy-host.example.com-access_log common 7.</VirtualHost> |
8.*111cn.net与www.111cn.net访问/var/www/html/dir1目录
代码如下 | 复制代码 |
9.<VirtualHost 94.249.188.58:80> 10. ServerAdmin webmaster@dummy-host.example.com 11. DocumentRoot /var/www/html/dir1 12. ServerName 111cn.net 17.*wuleilei.net与www |
.wuleilei.net访问/var/www/html/dir2目录
代码如下 | 复制代码 |
18.<VirtualHost 94.249.188.58:8081> 19. ServerAdmin webmaster@dummy-host.example.com 20. DocumentRoot /var/www/html/dir2 21. ServerName wuleilei.net 22. ServerAlias www.wuleilei.net |
附:如果想开其他端口,请按照如下操作(以8080端口为例):
1、打开http.conf,查找Listen 80,在下面一行添加Listen 8080;
2、在文件末尾添加如下代码:
代码
代码如下 | 复制代码 |
1.<VirtualHost 94.249.188.58:8080> 2. ServerAdmin webmaster@dummy-host.example.com 3. DocumentRoot /var/www/html/dir3 4. ServerName 111cn.net |
这样就将www.111cn.net:8080绑定到/var/www/html/dir3目录了