linux下配置apache多站点访问-小案例

时间:2022-09-13 07:05:33

一级域名(baidu.com)也叫作*域名,注册一级域名是需要付费的。

而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的。

其实(www.baidu.com)也是二级域名,只是大家已经习惯使用www为前缀的二级域名作为网站的主域名而已。

通过DNS解析服务商,可以为每个二级域名绑定不同的主机IP,这样即使只有一个主域名也可以架设多个网站了。

如果你只有一台主机,并且要在上面建立多个项目,还得通过子域名的方式访问,那么你需要配置 Apache 才行。

(下面这一小段大牛就不用看了,班门弄斧了。)

简单说,就是你注册购买了一个域名(www.changnew.top)后,并且解析到了你的服务器ip。但是,你想要在这台服务器上,再放置一个项目,然后通过(video.changnew.top)访问,这就是二级域名的来来历!网上不少教程,但是有些很啰嗦,有些甚至是错误的。今天,终于搞出来了,特别写此篇记录和分享给大家。

---------------------------闲话少说,开始吧!-----------------------------

首先,登陆我的阿里云账号,把我的二级域名解析到我的这台服务器上。注意,一定要和主域名一样的IP。

linux下配置apache多站点访问-小案例

添加完了后,测试下成功了没。打开电脑的命令行ping一下域名,如果两个域名访问的ip一样的,那就第一步成功了!

linux下配置apache多站点访问-小案例

接下来,就是重点了。现在,连个域名都可以指向自己的服务器了。那么,服务器需要怎么区分访问的是哪个项目呢?

打开服务器命令行,找到httpd.conf文件,vi编辑一下,找到这行代码:

# Virtual hosts
# Include conf/extra/httpd-vhosts.conf

把Include前面的#注释去掉,然后找到httpd-vhosts.conf文件,vi编辑下。

复制一份下面这段代码(具体路径肯定不一样,以自己的为准),放到它的后面即可。

<VirtualHost *:80>
ServerAdmin webmaster@example.com
#php_admin_value open_basedir "/home/wwwroot/default:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/default"
ServerName www.lnmp.org
ErrorLog "/home/wwwlogs/IP-error_log"
CustomLog "/home/wwwlogs/IP-access_log" combined
<Directory "/home/wwwroot/default">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</virtualHost>

在刚复制的这份代码,修改下面红色部分即可。

<VirtualHost *:80>
ServerAdmin webmaster@example.com
#php_admin_value open_basedir "/home/wwwroot/default:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/default/video"(二级域名指向的项目文件夹或文件)
ServerName video.changnew.
top(自己的二级域名)
ErrorLog "/home/wwwlogs/IP-error_log"
CustomLog "/home/wwwlogs/IP-access_log" combined
<Directory "/home/wwwroot/default/video">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>

重启apache后,在浏览器*问即可!如果没成功,欢迎到我的博客留言杰新博客