项目架构图解
场景说明
基于docker容器引擎,分别pull nginx镜像、tomcat镜像(具体镜像使用参考官方文档说明 )配置nginx反向代理功能、配置Tomcat集群。实现应用服务器集群部署,提高服务器的承载能力。
- docker官方文档地址https://hub.docker.com/
在docker官方搜索需要拉取的镜像下载即可
docker安装步骤见上篇博客 https://www. jianshu.com/p/fe438fac7 cff
具体部署步骤如下:
- 分别拉取nginx镜像、Tomcat镜像
docker pull nginx
docker pull tomcat
- 查看Linux宿主机下的镜像详情
[root@bogon ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest b56d8850aed5 23 hours ago 529MB
nginx latest 2073e0bcb60e 5 days ago 127MB
centos latest 589dc4d40385 3 weeks ago 237MB
配置nginx反向代理
- 在宿主机创建nginx目录
mkdir -p /data/nginx/{conf,conf.d,html,log}
[root@bogon nginx]# pwd
/data/nginx
[root@bogon nginx]# ll
总用量 0
drwxr-xr-x. 2 root root 45 2月 7 17:42 conf
drwxr-xr-x. 3 root root 34 2月 7 15:20 html
drwxr-xr-x. 2 root root 39 2月 7 17:43 logs
- 配置nginx反向代理服务器地址
server {
listen 8090;
server_name localhost;
# root /usr/share/nginx/html;
# Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://localhost;
}
upstream localhost{
server 192.168.1.90:8071 weight=1;
server 192.168.1.90:8072 weight=1;
}
- nginx配置文件配置好后,就可以启动docker容器的nginx镜像,加载刚才宿主机下的nginx.conf配合文件启动nginx。命令如下:
docker run --name nginx-server -d -p 8070:8090 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
- 启动docker的tomcat镜像,这里我以两个tomcat集群示例。启动命令:
tomcat服务器1:
docker run -d --name=Application-server1 -p 8071:8080 tomcat
tomcat服务器2:
docker run -d --name=Application-server2 -p 8072:8080 tomcat
- 把打包的项目放到webapps下即可。这里简单示例:
[root@bogon conf]# docker exec -it Application-server1 bash
root@c42ed9de5100:/usr/local/tomcat# cd webapps
root@c42ed9de5100:/usr/local/tomcat/webapps# pwd
/usr/local/tomcat/webapps
root@c42ed9de5100:/usr/local/tomcat/webapps# cd index/
root@c42ed9de5100:/usr/local/tomcat/webapps/index# cat index.html
<!DOCTYPE html>
<html>
<head>
<title>Application-server1</title>
</head>
<body>
Application-server1
</body>
</html>
- 可以分别通过不同的服务器地址访问已正常访问:
- 查看docker容器的启动详情:
[root@bogon conf]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5fc6a8e02281 nginx "nginx -g 'daemon of…" 22 hours ago Up 22 hours 80/tcp, 0.0.0.0:8070->8090/tcp nginx-server
a92ec9e07f9c tomcat "catalina.sh run" 23 hours ago Up 23 hours 0.0.0.0:8072->8080/tcp Application-server2
c42ed9de5100 tomcat "catalina.sh run" 24 hours ago Up 23 hours 0.0.0.0:8071->8080/tcp Application-server1
db9a8a85bf30 centos "/bin/bash" 3 weeks ago Up 3 weeks 0.0.0.0:8888->80/tcp sx
[root@bogon conf]#
通过nginx反向代理功能,用户访问url: http:// 192.168.1.90:8070/index /index.html
- 访问页面如下
- nginx技术二--反向代理
更多技术分享和免费视频资料首发于公众号:请关注微信公众号--Coding测试 获取