Nginx简介与Docker Compose部署指南

Nginx是一款高性能的开源Web服务器和反向代理服务器,以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中,我们将首先介绍Nginx的基本概念,然后演示如何使用Docker Compose轻松部署Nginx服务器。

nginx.jpg

什么是Nginx?

Nginx是一个高性能的HTTP和反向代理服务器,它可以用于以下用途:

  • 作为Web服务器托管静态内容。
  • 作为反向代理服务器,将请求转发到应用程序服务器。
  • 负载均衡多个应用程序服务器以提高性能和可用性。
  • 提供SSL/TLS终端加密和安全性。
  • 处理HTTP请求和响应,支持高并发。

为什么选择Nginx?

Nginx的流行原因如下:

  • 性能卓越: Nginx以其低内存消耗和高并发处理能力而著称,可在大流量负载下保持出色的性能。

  • 可扩展性: Nginx易于配置和扩展,可以根据需求轻松添加新功能。

  • 反向代理和负载均衡: 它是一个强大的反向代理服务器,可以将请求分发到多个后端服务器,提高应用程序的可用性。

  • SSL/TLS支持: Nginx提供了强大的SSL/TLS支持,用于安全地传输数据。

  • 活跃的社区: 有一个庞大的活跃社区,提供支持和插件,使其更加强大和灵活。

使用Docker Compose部署Nginx

  • 创建docker-compose.yml文件

首先,要创建一个名为 docker-compose.yml 的文件,本文中我们将使用之前介绍过的前端项目 “jsonhelp” 来作为演示示例。这个文件应包含以下内容:

version: '3.3'
services:jsonhelp:image: nginx:1.18container_name: jsonhelp-ngrestart: alwayslogging:driver: 'json-file'options:max-size: '5g'environment:- NGINX_PORT=80ports:- 8090:80volumes:- ./nginx.conf:/etc/nginx/nginx.conf- ./html:/usr/share/nginx/html

在这里,我们将 nginx.confhtml 使用数据卷进行挂载。

  • html: 前端打包之后的文件
  • nginx.conf: nginx的配置文件,具体如下:

nginx.conf

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;keepalive_timeout  65;client_max_body_size 500m;include /etc/nginx/conf.d/*.conf;server {listen       80;
#        外网访问的域名server_name  192.168.10.105;location / {root /usr/share/nginx/html;index index.html;try_files $uri $uri/ /index.html;}}
}
  • 启动容器

在docker-compose.yml 的同级目录下,执行以下命令启动容器

docker-compose up -d 
  • 访问服务

浏览器中打开 地址 http://192.168.10.105:8090即可访问到我们刚刚部署的服务。

_20231001174907.png

到此,我们的nginx服务就部署完成了

总结

Nginx是一款功能强大且高度灵活的Web服务器和反向代理服务器,适用于提供卓越性能的Web服务。通过使用Docker Compose,您可以轻松地部署和管理Nginx服务器,以满足各种应用场景的需求。虽然本文只是简单介绍了如何部署前端项目,但请继续关注我们,因为我们将在后续分享更多关于Nginx高级用法的内容。希望本文对您了解Nginx以及学习如何使用Docker Compose来部署它有所帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32 - GPIO

stm32 - GPIO GPIO结构图GPIO原理图输入上拉/下拉/浮空施密特触发器片上外设 输出推挽/开漏/关闭输出方式 GPIO88种模式复用输出 GPIO寄存器端口配置寄存器_CRL端口输入数据寄存器_IDR端口输出数据寄存器_ODR端口位设置/清除寄存器_BSRR端口位清除寄存器_BRR端口配置锁定寄存器…

Window 安装多个版本的 java 并按需切换

1、按需下载对应版本的 java 官网链接:Java Downloads | Oracle 2、执行安装程序,根据安装向导一步一步走就行,每个版本安装在不同的目录下。 3、配置环境变量 a)为每个版本 java 新建不同名称的 JAVA_HOME 系统变量&#xff0…

【Java 进阶篇】JDBC插入数据详解

在Java应用程序中,与数据库交互是一项常见的任务。其中,插入数据操作是一种基本的数据库操作之一。本文将详细介绍如何使用Java JDBC(Java Database Connectivity)来执行插入数据操作。无论您是初学者还是有一定经验的开发人员&am…

数仓精品理论-做大数据还有没有前途?

数仓精品理论-做大数据还有没有前途? 做大数据还有没有前途?大数据三要三不要我来讲讲大数据前景 做大数据还有没有前途? 先说,答案是肯定的,但一定要记住三要三不要。 datapulse官网: github:https://data…

LeetCode 热题 HOT 100:回溯专题

LeetCode 热题 HOT 100:https://leetcode.cn/problem-list/2cktkvj/ 文章目录 17. 电话号码的字母组合22. 括号生成39. 组合总和46. 全排列补充:47. 全排列 II (待优化)78. 子集79. 单词搜索124. 二叉树中的最大路径和200. 岛屿数量437. 路径…

手机电脑数码小程序商城的作用是什么

手机几乎是每个成年人人手一个以上,市场非常大,加之产品更新迭代速度快,每年都会推出多个型号、造型等,因此对高收入群体或爱机人群来说,新手机往往一年或二年时间就会换,或者直接购买当备用机等。 每个城…

关于解决 unable to start ssh-agent service, error :1058

前言 操作系统:win11 命令终端:Powershell 当我在终端输入命令 启动 ssh-agent 代理的时候 ssh-agent -s 很不幸出现了 unable to start ssh-agent service, error :1058以下错误 问题的解决 查看我们ssh-agent 服务是否运行,执行如下命令…

快看看你的手机有没有:谷歌Android全面封杀此类软件!

谷歌坐不住了,因为Android应用商店中,充斥着大量可窃取用户数据的应用,所以必然要出手整治了。 一款名叫“SonicSpy”软件是整个事情的导火索,而该应用是典型的窃取用户数据的应用,其除了可以从手机中提取个人数据外&…

C++ 学习系列 -- std::stack 与 std::queue

一 std::stack 与 std::queue 分别是什么? 两者均是 c 中的序列化容器,区别在于: std::stack 元素是先进后出 std::queue 元素是先进先出 二 std::stack 与 std::queue 原理 1 std:statck 2. std::queue 两者底层容器可以是 list 也可以…

黑豹程序员-架构师学习路线图-百科:HTML-网页三剑客

为什么需要HTML 在网站技术发达之前,千年来我们获取信息是通过书籍。电脑流行后我们看文章、小说通过txt文件。看图通过单独的图片流量工具看单个的图片文件。 而HTML把文字和图片一起展示,让今天的电子书成为可能。 另外一点,我们的信息是…

蜂蜜配送销售商城小程序的作用是什么

蜂蜜是农产品中重要的一个类目,其受众之广市场需求量大,但由于非人人必需品,因此传统线下门店经营也面临着痛点,线上入驻平台也有很多限制难以打造自有品牌,无法管理销售商品及会员、营销等,缺少自营渠道&a…

Linux常见操作命令(1)

​ 前言:作者也是初学Linux,可能总结的还不是很到位 ♈️今日夜电波:达尔文—林俊杰 0:30━━━━━━️💟──────── 4:06 🔄 ◀️ …

集合在多线程下安全问题

如果在多线程下,同时操作同一个数据源,就会出现数据安全问题: A线程取出值为10,准备加5. 同时B线程也取出来10,减了5 C取出的时候有可能时15,也有可能时5。产生了数据安全问题。 方法有很多例如&#xff1a…

Acwing 143. 最大异或对

Acwing 143. 最大异或对 题目描述思路讲解代码展示 题目描述 思路讲解 这道题的启示是&#xff1a;字典树不单单可以高效存储和查找字符串集合,还可以存储二进制数字 思路:将每个数以二进制方式存入字典树,找的时候从最高位去找有无该位的异. 代码展示 #include<iostream…

uboot启动流程-涉及_main汇编函数

一. uboot启动流程涉及函数 本文简单分析一下 save_boot_params_ret调用的函数&#xff1a;_main汇编函数。 本文继之前文章的学习&#xff0c;地址如下&#xff1a; uboot启动流程-涉及s_init汇编函数_凌肖战的博客-CSDN博客 二. uboot启动流程涉及的 _main汇编函数 经过之…

鞋类 整鞋试验方法 剥离强度

声明 本文是学习GB-T 3903.3-2011 鞋类 整鞋试验方法 剥离强度. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 GB/T 3903 的本部分规定了整鞋鞋底与鞋帮或外底与外中底之间剥离强度的试验方法。 本部分适用于采用模压、硫化、注塑、灌注、胶…

Springboot对MVC、tomcat扩展配置

Springboot在web层的开发基本都是采用Springmvc框架技术&#xff0c;但是Springmvc中的某些配置在boot是没有的&#xff0c;我们就应该根据自己的需求进行对mvc扩展配置 Springboot1.x版本如何配置 通过注解Configuration一个类&#xff0c;继承webmvcconfigureradapter&#…

macOS 14 Sonoma 如何删除不需要的 4k 动态壁纸

概览 在升级到 macOS 14&#xff08;Sonoma&#xff09;之后&#xff0c;小伙伴们惊喜发现  提供了诸多高清&#xff08;4k&#xff09;动态壁纸的支持。 现在&#xff0c;从锁屏到解锁进入桌面动态到静态的切换一气呵成、无比丝滑。 壁纸显现可谓是有了“天水相连为一色&…

【SpringBoot学习】收藏的学习资料,精!

文章目录 Spring实战&#xff08;第五版&#xff09;&#xff1a; https://potoyang.gitbook.io/spring-in-action-v5/di-er-bu-fen-ji-cheng-spring南京大学-软件体系架构,结合SpringBoot Spring实战&#xff08;第五版&#xff09;&#xff1a; https://potoyang.gitbook.io/…

【农业生产模拟】WOFOST模型与PCSE模型实践

查看原文>>>【农业生产模拟】WOFOST模型与PCSE模型实践 WOFOST&#xff08;WorldFoodStudies&#xff09;和PCSE&#xff08;PythonCropSimulationEnvironment&#xff09;是两个用于农业生产模拟的模型&#xff1a;WOFOST是一个经过多年开发和验证的模型&#xff0c…