分享好友 最新动态首页 最新动态分类 切换频道
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,映射到宿主机的项目静态文件下

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

 

 

最新文章
(13653期)12月最新小红书3分钟爆粉引流秘籍 精准私域流量变现 日引500+
二、项目优势:1、学习本课程可详细了解公域流量与私域流量的区别2、可学会小红书引流到私域变现方法3、可学会私域流量成交方法
【Java】MyBatis快速入门及详解
1.MyBatis概念:MyBatis是一款优秀的持久层框架,用于简化JDBC开发。 它支持自定义 SQL、存储过程以及高级映射免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作可以通过简单的 XML 或注解来配置和映射原始类型、接口
百度极速版v6.36.0.102024更新内容
《百度极速版》是一款功能强大的移动应用程序,具有以下特点和功能:1. 流畅体验,不卡顿:通过优化和提升性能,确保用户在使用过程中不会遇到卡顿和延迟的问题。2. 新增功能更实用: - 扫一扫功能:可以扫描二维码和条形码,快速获取相关
阿衰漫画在线阅读软件功能
阿衰漫画在线阅读APP是一款非常便利的漫画阅读工具,喜欢看这个漫画的用户可以直接在这里阅读漫画,不需要复杂的操作就能够轻松阅读去全集漫画资源,而且漫画的画质也是很高的。给用户带来了最棒的阅读体验。还可以下载缓存漫画的章节,在
【体彩动态】体彩“排列5”100万元大奖得主已兑奖
12月3日晚,体彩“排列五”第22323期中奖号码:71238,位于吴忠市西苑小区6424070067体彩实体店中出当期“排列五”一等奖10注,单注奖金10万元,总奖金100万元。12月6日,中奖者来到宁夏体育彩票管理中心办理兑奖手续,据中奖杨先生(化名
外贸seo推广公司
外贸SEO推广公司专注于为企业提供国际市场的网络营销服务,通过优化搜索引擎排名,提高网站流量和转化率。该公司拥有专业的SEO团队,具备丰富的行业经验和先进的技术手段,能够根据客户需求定制化推广方案。该公司在全球范围内拥有广泛的合
班主工作总结
h3br班主任工作总结br东胜区实验中学279班聂振灵br一学期临近结束,我作为初三的班主任,也完成了本学期的br各项工作。在这半年里,我始终本着以学生为本,全面发展、br育人为先的原则,积极履行班主任的职责,努力营造一个良好br的班级氛
云手机亲民智能便宜辅助:星星云手机的创新之道
**一、亲民价格:打破成本壁垒**在云手机市场中,价格往往是消费者考量的重要因素。星星云手机以其独特的价格策略脱颖而出,成为亲民智能的典范。传统的云手机服务,由于涉及到服务器成本、技术研发等多方面的投入,价格常常居高不下,使得
怎样上传文件到Windows操作系统云主机?
安装传输工具在本地主机和Windows云主机上分别安装数据传输工具,将文件上传到云主机。例如QQ.exe。本地磁盘映射(推荐使用)使用远程桌面连接MSTSC方式进行数据传输。该方式不支持断点续传,可能存在传输中断的情况,因此不建议上传大文件
windows优化大师注册机(通用版)v7.75 Build 7.806 珍藏版
优化大师注册机软件介绍Windows优化大师是一款功能强大的系统工具软件,它提供了全面有效且简便安全的系统检测、系统优化、 系统清理、系统维护四大功能模块及数个附加的工具软件。使用Windows优化大师,能够有效地帮助用户 了解自己的计算
相关文章
推荐文章
发表评论
0评