只用apache的方案/ 当然也可以使用Nginx代理取处理多个域名/网站映射。
本文讲述的是 一台服务器需要绑定多个网站的情况,可以说多个域名,也可以是子域名。或者springboot的jar包服务绑定域名都有样例。(第1第2条是废话,玩过apache请忽略,不懂可以csdn,有很多详细的文档)
1.准备环境(简略说一下安装/更改根目录)
安装apache
yum install httpd
启动
service http start
2.修改根目录 ,默认目录为/var/www/html 修改为/var/www 测试用,随意改个目录
vim /etc/httpd/conf/httpd.conf
修改两个地方
DocumentRoot "/var/www/html" ==》 DocumentRoot "/var/www"
<Directory "/var/www/html"> ==》<Directory "/var/www/html">
重启
service httpd restart
在/var/www中新建test.html
vim test.html
test apache start on /var/www
3.本文重点,配置多域名
编辑vim /etc/httpd/conf/httpd.conf
在/var/www 创建两个文件夹(本文测试已绑定一个域名,另外一个域名直接使用ip测试)
mkdir www.a***.com
mkdir www.b***.com
修改配置文件
vim /etc/httpd/conf/httpd.conf
#后台使用apache httpd服务 同一主机,多个项目映射不同的域名在80端口
#第一个服务目录 /var/www/www.a***.com 映射为域名www.a***.com
NameVirtualHost *:80
<VirtualHost *:80>
ServerName a***.com
ServerAlias www.a***.com
DocumentRoot "/var/www/www.a***.com"
</VirtualHost>
<Directory /var/www/www.a***.com>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
#Require all granted
</Directory>
#第二个服务目录 /var/www/www.b***.com 映射为域名www.b***.com
NameVirtualHost *:80
<VirtualHost *:80>
ServerName b***.com
ServerAlias www.b***.com
DocumentRoot "/var/www/www.b***.com"
</VirtualHost>
<Directory /var/www/www.test.com>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
#Require all granted
</Directory>
# 第三个服务(使用tomcat或其它)后台直接运行tomcat/jar包时,将8082端口映射到80 并绑定子域名
<VirtualHost *:80>
ServerName www.c***.com
ServerAlias www.c***.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:8082/
ProxyPassReverse http://localhost:8082/
</Location>
</VirtualHost>
重启apache服务
在www.a***.com文件夹创建一个index.html文件 插入 this is www.a***.com
在www.b****.com文件夹创建一个index.html文件 插入 this is www.b****.com
分别在浏览器输入 www.a***.com/index.html www.b****.com/index.html 即可