Docker--通过Docker容器创建一个Web服务器

Web服务器

Web服务器,一般指网站服务器,是驻留于因特网上某种类型计算机的程序

Web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件以供全世界浏览,或放置数据文件以供全世界下载。

Web服务器的主要功能是提供网上信息浏览服务,它使用HTTP(超文本传输协议)与客户机浏览器进行信息交流。

Web服务器是一种被动程序,只有当Internet上运行其他计算机中的浏览器发出请求时,服务器才会响应。

Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

工作原理

当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其他的程序,例如CGI脚本、JSP(JavaServer Pages)脚本、servlets、ASP(Active Server Pages)脚本、服务器端(server-side)JavaScript,或者一些其他的服务器端技术。

Nginx

Nginx是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点开发,其将源代码以类BSD许可证的形式发布。Nginx因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行,特点是占有内存少、并发能力强,事实上Nginx的并发能力在同类型的网页服务器中表现较好。

  • HTTP服务器:Nginx可以作为静态网页和动态网页的容器,处理HTTP请求并返回响应。
  • 反向代理:Nginx可以将客户端的请求转发给内部网络上的其他服务器,同时保持客户端与服务器的通信。
  • 负载均衡:Nginx支持多种负载均衡策略,如轮询、加权轮询、IP哈希等,可以将请求分发到多个应用服务器上,提高系统的性能和可靠性。
  • 动静分离:为了加快网站的解析速度,Nginx可以通过配置实现动静分离,将静态页面请求直接转发给静态页面服务器,而将动态页面请求转发给应用服务器处理。

通过Docker创建一个Web服务器

对nginx网页界面进行测试

先检查nginx的安装环境:

ps -ef | grep nginx

查看原本系统上有没有nginx;
在这里插入图片描述
卸载nginx:

apt --purge autoremove nginx 

安装nginx:

apt install nginx -y

再次查看进程信息

ps -ef | grep nginx

在这里插入图片描述
查看进程是否允许;

查看nginx的配置:

cd /etc/nginx
ls

在这里插入图片描述
访问库文件:

ll /etc/nginx/sites-enabled/
vi /etc/nginx/sites-available/default

在这里插入图片描述
修改根目录:
在这里插入图片描述
加载配置:

nginx -s reload

访问80端口
在这里插入图片描述

查看网页内容信息:

cd /usr/share/nginx/html
ls

在这里插入图片描述

vi index.html

修改下标题内容:
在这里插入图片描述

docker容器部署Web服务器

先拉取一个nginx镜像:

docker pull nginx:1.24.0

在这里插入图片描述

查看有没有拉取成功
在这里插入图片描述
查看nginx镜像详情:

docker image inspect nginx:1.24.0

启动容器并在bash上运行:

docker run -p 8081:80 --name myweb3 -h myweb3.com -e myenv=test -it nginx:1.24.0 bash

进入html目录下,并对index.html目录开始修改:

cd /usr/share/nginx/ html/
ls

在这里插入图片描述

echo "Hello i am in docker my port is 8081" > index.html

在这里插入图片描述

通过浏览器访问:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/922808.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux网络——NAT/代理服务器

一.NAT技术 1.NAT IP转换 之前我们讨论了, IPv4 协议中, IP 地址数量不充足的问题,NAT 技术就是当前解决 IP 地址不够用的主要手段, 是路由器的一个重要功能。 NAT 能够将私有 IP 对外通信时转为全局 IP. 也就是一种将私有 IP 和全局IP 相互转化的技术方法: 很…

极简开源Windows桌面定时提醒休息python程序

当我们长期在电脑面前坐太久后,会产生一系列健康风险,包括干眼症,颈椎,腰椎,肌肉僵硬等等。解决方案是在一定的时间间隔内我们需要have a break, 远眺可以缓解干眼症等眼部症状,站起来走动两步,…

Windows Qtcreator不能debug 调试 qt5 程序

Windows下 Qt Creator 14.0.2 与Qt5.15.2 正常release打包都是没有问题的,就是不能debug,最后发现是两者不兼容导致的; 我使用的是 编译器是 MinGW8.1.0 ,这个版本是有问题的,需要更新到最新,我更新的是Mi…

【论文笔记】Number it: Temporal Grounding Videos like Flipping Manga

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Number it: Temporal Grou…

【模版进阶】—— 我与C++的不解之缘(十八)

前言: ​ 之前浅浅的学了一下模版,这里来深入学习一下模版 1、非类型模版参数 模版参数可以分为类型形参 和非类型形参 类型形参:出现在模板参数列表中,跟在**class或者typename**之类的参数类型名称。非类型形参: 就是…

Diving into the STM32 HAL-----Timers笔记

嵌入式设备会按时间执行某些活动。对于真正简单且不准确的延迟,繁忙的循环可以执行任务,但是使用 CPU 内核执行与时间相关的活动从来都不是一个聪明的解决方案。因此,所有微控制器都提供专用的硬件外设:定时器。定时器不仅是时基生…

质量留住用户:如何通过测试自动化提供更高质量的用户体验

在当今竞争异常激烈的市场中,用户手头有无数种选择,但有一条真理至关重要: 质量留住用户。 产品的质量,尤其是用户体验 (UX),直接决定了客户是留在您的品牌还是转而选择竞争对手。随着业务的发展,出色的用户…

C++ 优先算法 —— 长度最小的子数组(滑动窗口)

目录 题目:长度最小的子数组 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口(同向双指针) 滑动窗口正确性 3. 代码实现 Ⅰ. 暴力枚举(会超时) Ⅱ. 滑动窗口(同向双指针) 题目:长…

GPT系列文章

GPT系列文章 GPT1 GPT1是由OpenAI公司发表在2018年要早于我们之前介绍的所熟知的BERT系列文章。总结:GPT 是一种半监督学习,采用两阶段任务模型,通过使用无监督的 Pre-training 和有监督的 Fine-tuning 来实现强大的自然语言理解。在 Pre-t…

进程间通信5:信号

引入 我们之前学习了信号量,信号量和信号可不是一个东西,不能混淆。 信号是什么以及一些基础概念 信号是一种让进程给其他进程发送异步消息的方式 信号是随时产生的,无法预测信号可以临时保存下来,之后再处理信号是异步发送的…

代理模式:静态代理和动态代理(JDK动态代理原理)

代理模式:静态代理和动态代理以及JDK动态代理原理 为什么要使用代理模式?静态代理代码实现优缺点 动态代理JDK动态代理JDK动态代理原理JDK动态代理为什么需要被代理的对象实现接口?优缺点 CGLIB动态代理优缺点 代理模式的应用 为什么要使用代…

【AI技术赋能有限元分析应用实践】pycharm终端与界面设置导入Abaqus2024自带python开发环境

目录 一、具体说明1. **如何在 Windows 环境中执行 Abaqus Python 脚本**2. **如何在 PyCharm 中配置并激活 Abaqus Python 环境**3. **创建 Windows 批处理脚本自动执行 Abaqus Python 脚本**总结二、方法1:通过下面输出获取安装路径导入pycharm方法2:终端脚本执行批处理脚本…

【消息序列】详解(6):深入探讨缓冲区管理与流量控制机制

目录 一、概述 1.1. 缓冲区管理的重要性 1.2. 实现方式 1.2.1. HCI_Read_Buffer_Size 命令 1.2.2. HCI_Number_Of_Completed_Packets 事件 1.2.3. HCI_Set_Controller_To_Host_Flow_Control 命令 1.2.4. HCI_Host_Buffer_Size 命令 1.2.5. HCI_Host_Number_Of_Complete…

虚拟局域网PPTP配置与验证(二)

虚拟局域网PPTP配置与验证(二) windows VPN客户端linux 客户端openwrt客户端性能验证虚拟局域网PPTP配置与验证(一)虚拟局域网PPTP配置与验证(二) : 本文介绍几种客户端连接PPTP服务端的方法,同时对linux/windows/openwrt 操作系统及x86、arm硬件平台下PPTP包转发性能进…

uniapp中使用uni-forms实现表单管理,验证表单

前言 uni-forms 是一个用于表单管理的组件。它提供了一种简化和统一的方式来处理表单数据,包括表单验证、字段绑定和提交逻辑等。使用 uni-forms可以方便地创建各种类型的表单,支持数据双向绑定,可以与其他组件及API进行良好的集成。开发者可…

Hive构建日搜索引擎日志数据分析系统

1.数据预处理 根据自己或者学校系统预制的数据 使用less sogou.txt可查看 wc -l sogou.txt 能够查看总行数 2.数据扩展部分 我的数据位置存放在 /data/bigfiles 点击q退出 将一个文件的内容传递到另一个目录文件下 原数据在 /data/bigfiles ->传递 到/data/workspac…

网络安全的学习方向和路线是怎么样的?

最近有同学问我,网络安全的学习路线是怎么样的? 废话不多说,先上一张图镇楼,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西。 在这个圈子技术门类中,工作岗位主要有以…

深入浅出分布式缓存:原理与应用

文章目录 概述缓存分片算法1. Hash算法2. 一致性Hash算法3. 应用场景Redis集群方案1. Redis 集群方案原理2. Redis 集群方案的优势3. Java 代码示例:Redis 集群数据定位Redis 集群中的节点通信机制:Gossip 协议Redis 集群的节点通信:Gossip 协议Redis 集群的节点通信流程Red…

Mysql的加锁情况详解

最近在复习mysql的知识点,像索引、优化、主从复制这些很容易就激活了脑海里尘封的知识,但是在mysql锁的这一块真的是忘的一干二净,一点映像都没有,感觉也有点太难理解了,但是还是想把这块给啃下来,于是想通…

论文模型设置与实验数据:scBERT

Yang, F., Wang, W., Wang, F. et al. scBERT as a large-scale pretrained deep language model for cell type annotation of single-cell RNA-seq data. Nat Mach Intell 4, 852–866 (2022). https://doi.org/10.1038/s42256-022-00534-z 论文地址:scBERT as a…