docker nginx部署web应用_基于docker容器web服务器集群部署

d2df1b67882c49604c4a52c4d9e94124.png

项目架构图解

a7a33fca086a79a438ef909a000a5b45.png

场景说明

基于docker容器引擎,分别pull nginx镜像、tomcat镜像(具体镜像使用参考官方文档说明 )配置nginx反向代理功能、配置Tomcat集群。实现应用服务器集群部署,提高服务器的承载能力。

  • docker官方文档地址https://hub.docker.com/

b1d6b87083cadd290a18f788107e4ccd.png

在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>
  • 可以分别通过不同的服务器地址访问已正常访问:

430b982281da380fdc66287fb45e9fbb.png
  • 查看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
  • 访问页面如下

4d2f886485457385dbc3b3b9cc3e62e8.png

  • nginx技术二--反向代理
更多技术分享和免费视频资料首发于公众号:请关注微信公众号--Coding测试 获取

6ce2d0e1f5428fb5f2829dad13a34e70.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值