分享好友 最新动态首页 最新动态分类 切换频道
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登顶国内第一,概念股梳理(名单建议收藏)
在A股市场,人工智能(AI)题材的热度持续升温,尤其是豆包概念股,在Kimi概念股、智谱概念股之后,成为了市场上的新宠。近日,抖音豆包AI概念全面发酵,中科蓝讯、乐鑫科技、省广集团、天龙集团、掌阅科技等一批字节跳动概念股大幅上涨。多
香港雷锋老牌论坛,重要性解释落实方法_WearOS10.466
h2引言/h2p随着数字技术的飞速发展,智能手机及可穿戴设备在全球范围内普及率逐年攀升,WearOS系统作为智能手表领域的重要组成部分,其发展趋势及影响力不容忽视,香港雷锋老牌论坛一直关注WearOS的最新动态,本文旨在深入探讨其在WearOS10
掌握SEO核心策略,高效提升网站搜索引擎排名指南
掌握SEO规则,掌握搜索引擎优化核心策略,助力网站排名提升。通过优化关键词、提高内容质量、改善网站结构等手段,有效提升网站在搜索引擎中的排名,吸引更多户。随着互联网的不断发展,搜索引擎优化(SEO)已经成为网站推广的重要手段,SE
源码html网站模板_源码html网页模板
源码HTML网站模板构建专业网页的基石,在当今数字化时代,拥有一个专业的网站是企业或个人品牌成功的关键。源码HTML网站模板作为构建网站的基础工具,提供了一个快速、高效的方式来创建具有吸引力的网页。本文将探讨源码HTML网站模板的重要
硅基周报 | OpenAI连开12天发布会;谷歌向平行宇宙借算力;字节想要打造“AI时代的抖音”
· 英伟达涉嫌反垄断,疑似下架天猫所有商品国家市场监督管理总局12月9日消息,因英伟达公司涉嫌违反《中华人民共和国反垄断法》及相关审查决定公告,市场监管总局依法对其开展立案调查。此次涉及的是英伟达2020年收购迈络思的交易。2 019
高德地图搜不到地址怎么办-商家新开门店地图定位
高德地图搜不到地址,可能有以下几种原因,解决办法如下:1. 地址输入有误:确认输入的地址是否正确,可以对照地图软件的其他信息,或者询问当地居民获得更准确的信息。2. 地址数据不全:某些偏僻或者新兴地区的地址数据可能尚未完全录入,
能源矿产检测 矿产成分检测 矿石元素检测
能源矿产检测 矿产成分检测 矿石元素检测 矿石能源一般属于不可再生能源,属于现代工业的基础原料。矿石检测主要是指利用分析检测仪器对矿石材料进行分析检测,确定矿石材料成分和品位,为企业进行矿石开采研究提供分析技术支持。能源属于
百度小说排行榜2021前十名完结
现如今,小说越来越多,但似乎找到一本心仪的小说却变得越来越难,面对浩如烟海的小说,从哪里知道什么更适合自己呢?小编为你提前排雷,帮你找到自己心中的最爱,大家有什么意见与建议可以在评论区中一起交流,一起建立起一个小书虫们的交
外勤365产品培训FAQ课件
外勤365产品培训常见问题外勤人员精细化管理工具出现网络请求失败原因:1.网络不稳定或者比较差2.是否限制外勤365软件3.后台很多其它软件在使用网络问题一、网络请求失败、界面转圈处理方法:1.换接入点在Android手机上,点击“设置”——
谷歌为成为苹果默认搜索引擎支付数十亿美元
据国外媒体报道,谷歌向苹果支付了数十亿美元,以便让其成为iPhone和Mac电脑中的Safari浏览器的默认搜索引擎。据之前消息,谷歌与苹果谈判,希望能够成为他们的默认搜索引擎。就在最近的一次采访中,苹果前法律总顾问布鲁斯·休厄尔透露了
相关文章
推荐文章
发表评论
0评