1. 虚拟主机
虚拟主机又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。
2. Nginx 实现虚拟主机
实现三个域名 www.zth.com blog.zth.com download.zth.com 通过Nginx服务器,反向代理 来实现动态转发到 指定Tomcat服务器;
2.1 启动三个 tomcat
用于模拟三个网站
运行 tomcat 容器,宿主机里 home目录下新建 tomcat1 、tomcat2 、tomcat3 目录,复制容器里 conf 到宿主机
docker cp 容器id:/usr/local/tomcat/conf /home/docker/tomcat1
docker cp 容器id:/usr/local/tomcat/conf /home/docker/tomcat2
docker cp 容器id:/usr/local/tomcat/conf /home/docker/tomcat3
分别更改 tomcat 的server.xml配置的端口,以及新建 /webapps/ROOT/ index.html并更改内容,方便查看;
启动三个tomcat
docker run -d --name tomcat01 -p 8080:8080 -v /home/docker/tomcat2/conf/:/usr/local/tomcat/conf/ -v /home/docker/tomcat2/webapps/:/usr/local/tomcat/webapps/ f6d5e523a1c9
docker run -d --name tomcat02 -p 9090:9090 -v /home/docker/tomcat2/conf/:/usr/local/tomcat/conf/ -v /home/docker/tomcat2/webapps/:/usr/local/tomcat/webapps/ f6d5e523a1c9
docker run -d --name tomcat03 -p 7070:7070 -v /home/docker/tomcat3/conf/:/usr/local/tomcat/conf/ -v /home/docker/tomcat3/webapps/:/usr/local/tomcat/webapps/ f6d5e523a1c9
以及通过 docker inspect 容器 Id 查看下 docker 内分配的IP:
tomcat1 172.17.0.2 8080
tomcat2 172.17.0.3 9090
tomcat3 172.17.0.5 7070
2.2 配置 Nginx
nginx.conf 配置 upstream :
upstream www.zth.com {
server 172.17.0.2:8080;
}
upstream blog.zth.com {
server 172.17.0.3:9090;
}
upstream download.zth.com {
server 172.17.0.5:7070;
}
default.conf 配置三个server:
server {
listen 80;
server_name www.zth.com;
location / {
proxy_pass http://www.zth.com;
}
}
server {
listen 80;
server_name blog.zth.com;
location / {
proxy_pass http://blog.zth.com;
}
}
server {
listen 80;
server_name download.zth.com;
location / {
proxy_pass http://download.zth.com;
}
}
修改本机 hosts:
192.168.214.10 www.zth.com
192.168.214.10 blog.zth.com
192.168.214.10 download.zth.com
保存配置,然后启动nginx;
2.3 测试