我们在生产环境下经常遇到这种情况:
1.只有一台服务器,一个公网IP
2.二级域名与主域名作为不同项目 如 abc.com作为主页,blog.abc.com作为博客等
那么我们怎么用一台服务器/一个ip实现部署多个网站/域名
以blog.abc.com二级域名为例,步骤如下:
1.设置域名解析,记录类型为A,主机记录为blog,记录值为主域名的IP
2.设置完成后,分别ping www.abc.com、abc.com、blog.abc.com。
如果返回的ip地址都是服务器IP,说明域名解析已经成功。
3.在/var/www/下新建两个文件夹
cd /var/www/
mkdir abc.com
mkdir blog.abc.com
两个目录可以分别放不同的网站项目
4.修改http.conf
vim /etc/httpd/conf/httpd.conf
添加如下代码:
<VirtualHost *:80>
DocumentRoot /var/www/abc.com
ServerName abc.com
ServerAlias abc.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/blog.abc.com
ServerName blog.abc.com
ServerAlias blog.abc.com
</VirtualHost>
各个参数含义说明
DocumentRoot 所需指向路径
ServerName 域名名称
ServerAlias 域名别名 可要可不要
第一段是www.abc.com
第一段是blog.abc.com
在上面的优先级要更高,访问自己的域名会跳转到你设置的路径,直接访问ip还是会到第一个设置的路径。
5.分别在两个目录下放置不同项目,重启apache,测试访问即可
重启apache命令
systemctl restart httpd