分享好友 最新动态首页 最新动态分类 切换频道
Docker部署-通过nginx管理web前端页面
2024-12-27 03:52

本地已完成“测试管理平台”的开发

实现方式:前后端分离

前端:html+script+css+javascript

后端:django框架

本地服务:django自带服务

数据库:django默认sqlite3数据库

整个测试管理平台需要用到三个容器,分为为:mysql、python(使用uwsgi服务器代替django自带的服务)、nginx

Nginx作为前端静态页面的服务器,主要负责管理操作静态资源文件。

uwsgi作为django应用的服务器,主要负责处理发送到django的请求。

mysql作为数据库,存储数据使用。

工作原理如下

1. 用户从客户端发起的http/https请求首先到达了我们的Nginx服务器
        2. Web服务器收到请求后,对请求进行解析处理(一般来说如果是静态请求,直接返回静态页面(纯HTML页面,然后将请求发送给uWSGI。
        3. uWSGI对来自Nginx的请求进行处理,将处理后的结果发送给django Web应用框架
        4. django 请求之后,对请求进行处理,将结果返回给uWSGI服务器。
        5. uWSGI收到Web应用框架的处理结果后,对该结果进行处理打包,发送给Nginx服务器。
        6. Nginx服务器将收到的结果返回给客户端。
这三者之间信息的传递涉及到数据格式以及协议的转换。

  1. docker安装mysql :参考 Docker基础+Docker安装mysql
  2. docker安装nginx
  3. docker安装python3.6

Nginx环境准备

 安装命令docker run -itd -p 80:80 --name mynginx --rm nginx

 其中

         run:执行run时,若本地没有nginx镜像,会自动去镜像仓库内拉取

-rm表示容器停掉后自动删除nginx

--name 表示定义容器的名称=mynginx

-p80:80 表示的容器端口:宿主机端口

校验是否运行成功

访问地址:虚拟机的ip地址,若访问成功展示的是“welcome to Nginx!”页面,如下

实现Nginx反向代理管理项目的前端功能

两种方式

1.通过映射的方式

    1.1先将容器内的配置文件拷贝到宿主机上

    1.2将项目静态文件拷贝到宿主机上

    1.3命令运行容器时通过-v来完成宿主机上的配置文件和静态文件与容器内的配置文件和静态文件的映射

2.修改nginx容器的配置文件,将文件内的server模块的静态文件【/usr/share/nginx/html;】地址改成项目静态文件地址

映射实现过程

1.进入nginx容器命令模式:docker exec -it mynginx bash

 2.查看当前nginx配置文件路径:nginx -t

查看配置文件内容:cat /etc/nginx/nginx.conf打开可以看到没有server模块,查看文件底部内容提示“ include /etc/nginx/conf.d/*.conf;”意识是,在conf.d文件夹下还有其他配置文件

最后可以找到server模块在配置文件/etc/nginx/conf.d/default.conf内

3.修改配置文件的server模块

由于容器内无法修改配置文件,所以需要将容器内的配置文件挂载到宿主机上。

前提:退出nginx容器

执行:docker cp mynginx:/etc/nginx conf     其中mynginx:/etc/nginx  表示从容器mynginx的目录etc/nginx下拷贝文件到宿主机的conf文件夹下

执行:查看宿主机conf下的配置文件

执行:docker stop mynginx    先暂停容器

执行:docker run --rm --name mynginx --volume "$PWD/宿主机上静态文件地址":/usr/share/nginx/html --volume "$PWD/conf":/etc/nginx -p 80:80 -d nginx

       -v表示映射,映射实现的格式:源文件:宿主机上的映射目标文件

       第一个映射:将nginx容器的配置文件映射到宿主机的conf文件夹下

       第二个映射:将nginx的配置文件内,ront用户默认指向地址/usr/share/nginx/html,映射到宿主机的项目静态文件下

按照上述操作步骤后,即可访问测试管理工具平台前端

 

 

最新文章
阿里云助力易点天下实现程序化广告+AI多维度效率提升
  12月12日,在第十二届中国企业全球形象高峰论坛现场,联合阿里云正式发布了在程序化广告领域的多项重要突破,这些成果主要基于阿里云平台PAI、通义大模型以及阿里云+云原生技术生成。  市场研究机构MAGNA最新发布的《全球广告预测》
观山湖区第一高级中学环境好不好
摘要:观山湖区第一高级中学的环境综合评价涵盖了校园设施、教学资源、师资力量等多个方面。小编从升学规划师的角度出发,深入分析学校环境对学长和教育质量的重要性,探讨该校在各方面的表现及其对学生未来发展的潜在影响。观山湖区第一高
遇到纠纷不用慌,“人民调解”帮你忙!“解纷芜优”指引来了
生活中可能遇到矛盾纠纷,如果闹上法庭,不仅要花时间和金钱,还会伤害人与人之间的和气……那么,如何更加妥善高效处理矛盾纠纷呢?快随小编来看看“人民调解”如何省时省心帮助纠纷双方解决问题吧现在可以通过“解纷芜优”在线申请调解啦
甲骨文谈存储:其实一开始我们就是认真的
当人们谈到iPhone的成功最大的因素之一就是软件与硬件最强大的结合。雷军也表示软硬件结合互联网是小米成功的核心。今天甲骨文高调宣布其存储设备并向业 内发出最强音---甲骨文的软件加上甲骨文的存储设备,就是要为企业级数据市场提供最好
青年小店,让城市未来这YOUNG出彩丨青年小店榜样计划(浙江杭州站)圆满举行
杭州,一座创新活力之城、青年友好之城,吸引着大批年轻人前来生活与创业,为大批怀揣梦想与激情的年轻人提供了创业沃土,也承载着不少年轻人的诗和远方。近年来,杭州市积极践行青年优先发展理念,全力支持青年创新创业,吸引众多有志青年
淘宝直播店抽免单如何配置?
抽免单工具是淘宝直播平台提供给商家和主播的一种玩法工具,用户通过对指定商品下单参与活动,可以赢取免单福利,主播可以通过该工具进行直播间福利发放,亦可通过该工具提升成交爆发系数,欢迎各位商家和主播伙伴使用~注意:抽免单工具202
面容即密码!人脸识别签到助参会者快速入场
在数字化技术不断发展的今天,人脸识别签到技术正逐渐成为各类活动入场管理的热门之选,以其卓越的智能化特性重塑着传统签到模式。人脸识别:精准验证的奥秘人脸识别签到,是一种依托先进的图像识别技术与深度学习算法的身份验证方式。它通
用AI绘画生成诱人美女,简单几步打造个人专属女神
在科技越来越发达的今天,AI绘画逐渐走入了我们的生活。作为一位AI工具科普博主,今天我想和家人们分享的是,如何使用AI生成超逼真的美女写真。你是否想过,为你的社交平台增添一些引人注目的照片,或者为自己创造一个独特的人物形象?人工
高清美女写真就这样轻松生成!用AI工具打造你的数位女神
在主页上,挑选一款你喜欢的美女写真模板,工具内提供了众多预设风格,可以让你眼花缭乱。步骤三:自定义设计根据你的喜好,调整肤色、发型、眼睛等细节。你会发现,镜头下的她越来越符合你心中的那个完美形象。步骤四:生成并预览完成调整
近八成受访大学生认为需要减少对算法推荐的依赖
  视觉中国供图  就读于西北师范大学的刘昊冉觉得算法无处不在,有时仅仅是和同学聊天谈到某个话题,打开手机就会发现相关推荐已经出现在各类软件里了。刘昊冉对这样的推荐不太满意,感觉隐私在算法面前暴露无遗。  近日,中国青年报
相关文章
推荐文章
发表评论
0评