IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker05.nginx部署 -> 正文阅读

[系统运维]Docker05.nginx部署

一.发布准备

?

今天我门换了一个jar,所以干脆换了一个镜像

修改default.conf文件

#服务器的集群
upstream tomcatList {  #服务器集群名字
    server 172.18.0.5:8081 weight=1;  #服务器1   weight是权重的意思,权重越大,分配的概率越大
    server 172.18.0.3:8081 weight=2;  #服务器2   weight是权重的意思,权重越大,分配的概率越大
    server 172.18.0.4:8081 weight=2;  #服务器2   weight是权重的意思,权重越大,分配的概率越大
} 
    
server {

    listen  80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html/;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }

}

把要用的jar包导入

?

创建镜像 spring:2.0?

docker build -t spring2.0? .

创建nginx镜像中的容器

docker run -itd --name nginx -p 8082:80 nginx

??

?进入nginx的文件目录

cd /etc/nginx

?打开? nginx.conf

?红线部分:conf.d本身是一个文件夹,这句话意思是,它会把所有conf.d文件夹下所有以conf结尾的文件全部加载进来,所以这个文件里面没有做配置

所以就进入conf.d? 查看default.conf文件

?cd conf.d

server {
    listen       80;
    server_name  www.zking.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/local/tools/vue;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    
    location ~^/spa/ {
        proxy_pass   http://192.168.253.129:8080;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

把里面得文件信息配到容器里

?docker exec -it nginx bash

?进入?cd /etc/nginx/

?cd /etc/nginx/

可以看到有个 default.conf 文件? ,今天任务其实只要把它改成相应得就行了

?但这里有个问题,这个文件在容器内,我们的工具不能进入容器内,相应的肯定就会使用 vim命令 或者 vi命令??

可以看到我们的镜像不支持vim和vi命令,理所当然,缺哪个软件我们就下哪个软件,但是下软件很麻烦。

解决办法:

1.直接打包一个具备centos的镜像再发布 (也麻烦)

2.我们可以把文件拿到宿主机里面,然后使用目录挂载把文件挂载到容器里去

?做法:

先进入home文件夹,创建 nginx目录

cd /home

?mkdir nginx

?把我们的配置文件静态资源前端项目 挂载到容器

1.建立对应的文件夹

?mkdir {conf.d,html,log}

?放入对应的文件

server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/spa/ {
        proxy_pass   http://192.168.253.131:8080;
    }

  }

?解压

?unzip vue.zip

解压之后 挂载

docker run -itd \
> --name nginx01 \
> -v /home/nginx/conf.d:/etc/nginx/conf.d \
> -v ?/home/nginx/html:/etc/nginx/html \
> -v ?/home/nginx/log:/usr/log/nginx \
> -p 8081:80 \
> nginx

访问8081

?

但是点击后台访问的时候控制台会报错

?二.nginx反向代理

基于spring2.0镜像创建容器

?docker run -it --name spring01 -p 8082:8081?spring:2.0

运行之后运行(顺应不能乱)

?Ctrl p? Ctrl q

进入conf.d修改default文件

server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        proxy_pass   http://192.168.253.131:8082;
    }

  }

?再次修改default文件,修改之前查看桥段

?docker inspect spring01

server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        proxy_pass   http://172.17.0.3:8082;
    }

  }

?新开一个窗口,进入nginx01容器中

docker exec -it nginx01 bash

重新读取配置文件

nginx -t

nginx -s reload

再次修改default文件,修改成单个集群

#服务器的集群
upstream tomcatList {  #服务器集群名字
    server 172.17.0.3:8081 weight=1;  #服务器1   weight是权重的意思,权重越大,分配的概率越大
} 
    
server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ^~/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }

  }

?2、查看负载均衡轮回

修改default.conf:?weight权重

upstream tomcatList {  
    server 172.17.0.3:8081 weight=1;
    server 172.17.0.4:8081 weight=1;
} 

server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location ~^/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }
}

?浏览器访问四次

spring01两次,spring02两次

?

?三、容器跨网段数据交互?

1,删除spring01和spring02

2、再次新建spring01和spring02·,修改语句

docker run -it --name spring01?--net mynet?-p 8081:8081 spring:2.0

?3、网段地址变换

①、查看mynet

?②、修改default.conf

upstream tomcatList {  
    server 172.18.0.2:8081 weight=1;
    server 172.18.0.3:8081 weight=1;
}  

server {
    listen       80;
    server_name  www.zking.com;

    location / {
        root   /etc/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~^/api/ {
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://tomcatList;
        proxy_redirect default;
    }
}

?会出现响应超时问题!还是会访问不到

4、双网覆盖

docker network connect mynet nginx01

?

今天内容就到此为止了

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:44:33  更:2022-02-24 15:45:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:38:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码