Docker快速极简配置nginx实现不同域名访问分流

文章目录

  • 前言
  • 安装配置使用
    • 镜像拉取及环境配置
    • 修改代理文件
    • 编写docker-compose文件
    • 启动nginx代理
  • 总结

前言

本文主要记录如何使用docker安装配置Nginx,如何使用Nginx把通过80、443端口访问的请求根据域名分发到不同端口。那么什么是Nginx呢,下边做个简单介绍:

Nginx是一款开源的高性能、稳定、灵活的Web服务器和反向代理服务器,以其高效的数据传输能力和广泛的部署场景而闻名全球。它最初由俄罗斯程序员Igor Sysoev于2002年创建,其名字“Nginx”来源于日语单词“Ninginx”,意思是“强大的、快速的”,这恰好体现了其设计哲学。

Nginx的核心优势在于轻量级架构,即使在高并发环境下也能提供卓越的性能,使得它在处理静态内容和作为负载均衡器方面表现出色。它支持HTTP、HTTPS、SMTP等多种协议,并且易于扩展,能够与许多现代Web技术栈如Node.js、PHP-FPM等无缝集成。此外,Nginx还以其模块化设计、低资源占用和高效的请求处理机制著称。

在当前的互联网架构中,Nginx常被用于网站前端,作为第一道防火墙保护服务器,缓存静态资源,或者是大型分布式系统中的关键组件,比如作为CDN(内容分发网络)的一部分。许多大型网站,包括许多知名社交媒体平台和新闻网站,都在背后依赖Nginx来保障服务的稳定和高效。

安装配置使用

镜像拉取及环境配置

拉取Nginx最新镜像

docker pull nginx

配置本地参数文件挂载目录

mkdir -p ~/nginx/conf
mkdir -p ~/nginx/log

临时运行一个容器将参数文件拷贝到挂载目录

docker run --rm --name nginx -d nginxdocker cp nginx:/etc/nginx/nginx.conf ~/nginx/conf/
docker cp nginx:/etc/nginx/conf.d ~/nginx/conf/
docker cp nginx:/usr/share/nginx/html ~/nginx/# 拷贝完成后停止容器
docker stop nginx

修改代理文件

# ~/nginx/conf/conf.d/git.confserver{listen 80;# 此域名是提供给最终用户的访问地址server_name gitlab.example.com;location / {client_max_body_size 50m;proxy_redirect off;proxy_pass http://192.168.1.88:8080;}
}server{listen 80;# 此域名是提供给最终用户的访问地址server_name registry.gitlab.example.com;location / {client_max_body_size 50m;proxy_redirect off;proxy_pass http://192.168.1.88:5050;}
}

编写docker-compose文件

文件地址: ~/nginx/docker-compose.yml

networks: {}
services:core:depends_on: {}restart: alwayscontainer_name: nginxenvironment:TERM: xterm-256colorimage: nginxlogging:driver: json-fileoptions:max-file: '5'max-size: 10mnetwork_mode: hostprivileged: trueshm_size: 2gstdin_open: truetty: true# 下边的"~"最好修改为绝对路径volumes:- ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw- ~/nginx/conf/conf.d:/etc/nginx/conf.d:rw- ~/nginx/log:/var/log/nginx:rw- ~/nginx/html:/usr/share/nginx/html:rwworking_dir: /
version: '2.3'
volumes: {}

启动nginx代理

cd ~/nginx/
docker-compose up -d

修改配置后重启使用命令如下

docker restart nginx

总结

本文简单记录使用docker配置nginx的过程,方便后续参考。1234


  1. nginx配置详解-CSDN博客 ↩︎

  2. Docker 安装 Nginx 容器 (完整详细版)_docker nginx-CSDN博客 ↩︎

  3. Nginx配置详解_nginx配置域名-CSDN博客 ↩︎

  4. nginx安装及(域名、端口、ip)配置_nginx配置域名-CSDN博客 ↩︎

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

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

相关文章

将产品制作成3D模型在网站上展示需要多少费用?

将产品制作成3D模型并在网站上展示的费用会因多种因素而异,包括模型的复杂度、所需的细节程度、制作3D模型的软件和工具、以及是否需要专业设计师的服务等。此外,不同的3D模型制作服务提供商可能会有不同的定价标准。 如果能自己制作3D模型,…

友力科技IDC机房搬迁方案流程分享

机房搬迁流程 系统搬迁实施流程包括:准备、拆卸、装运、安装、调试等五个流程,具体如下: 准备:包括相关人员和设备准备、新机房环境准备、网络环境、备份、现场所有设备打标签、模块、设备准备等准备工作。拆卸:主要只核心设备下…

iptables(2)安装及规则查询

安装iptables 我是用的系统是debian 12,目前没有安装iptables。 防火墙已经安装完成了 iptables 的配置语法 iptables (选项) (参数) # 通用匹配:源地址目标地址的匹配 -p:指定要匹配的数据包协议类型 -s, --source [!] address[/mask] :把指定的一个/一组地址作为源地…

防坑知识:如果要查自己的大数据信用报告,这几种平台一定不要选!

很多小伙伴在候遇到申贷碰壁,特别是被告知原因是大数据不良之后,都急着去了解自己的大数据信用情况,常见的方式就是在百度搜索大数据信用,大数据报告查询,哪里能查大数据信用等关键词,随便找一个地方就去查…

Python 中处理大量用户阅读历史数据的策略

Python 中处理大量用户阅读历史数据的策略 处理大量数据时,效率和性能成为关键考虑因素。Python 提供了一系列工具和技术,可以帮助我们高效地处理大数据集。以下是一些处理大量用户阅读历史数据的策略。 1. 使用合适的数据存储解决方案 对于大规模数据…

【深度C++】之“目录”

0. 关于【深度C】 2023年5月,看了一个月《C Primer(第5版)》的我,感觉很“头疼”。 虽然看了很多,但是并没有组织在一起。仿佛一个有很多线头的毛线团,无从整理。 比如一口气让你说出const的用法&#x…

不常见的逻辑漏洞

文章目录 1. 逻辑漏洞2. 理赔类逻辑漏洞3. 支付类漏洞3.1 超时未发货商品赔付漏洞3.2 骗取某宝运费险漏洞 4. 批量注册场景5. 享受特权用户功能6. 社交类型场景7. 购物类型场景8. 签约漏洞场景 1. 逻辑漏洞 逻辑漏洞不可以用扫描器去扫,漏洞,就是由于开发…

MVCC多版本并发控制机制、事务的隔离级别

目录 一、MVCC多版本并发控制机制 二、事务的隔离级别 一、MVCC多版本并发控制机制 1、定义: MVCC(Multi-Version Concurrency Control,多版本并发控制)一种并发控制机制,在数据库中用来控制并发执行的事务&#xf…

好消息!终于解决了!Coze工作流错误中断问题终于得到解决!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 解决方案 📒📝 常见的工作流中断问题📝 好消息来了!⚓️ 相关链接 ⚓️📖 介绍 📖 大家是否曾经遇到过这样的问题:在Coze平台辛辛苦苦设计的一个工作流,尤其是流程非常复杂和长的情况下,只要中间一个环节出错,整…

ansible常用模块详解

一、Ansible 1.1 简介 Ansible是自动化运维工具,能实现跨主机对应用编排管理部署。 Ansible能批量配置、部署、管理上千台主机,是应用级别的跨主机编排工具。 比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一…

程序员必会英文语句 – 前后端交流篇

很多程序员日常用不到说英语的场景,或者遇到不会的英文单词直接一查就可以了。但也有很多程序员面试的时候要求来一场英文的表述,最近的工作呢,需要和外国人的后端开发交流,所以我整理了一下我日常用到的英文语句,也许…

Mybatis-Plus的笔记

Mybatis-Plus其实是Mybatis的升级版,他简化了原先mybatis需要手动写CURD语句转而继承BaseMapper来实现。具体变化如下: 1,MyBatis-Plus简介:MP,是mybatis的增强工具,是基于mybatis上开发的。 特点&#xf…

智驾未来,一触即达——探索全新加油App的无限可能

一、引言 随着科技的飞速发展,智能出行已成为现代生活的重要组成部分。为了满足广大驾驶者的需求,我们倾力打造了一款全新的加油App,旨在为您的驾驶旅程提供前所未有的便捷与智能体验。 二、产品概述 我们的加油App不仅是一款导航工具&…

windows如何看是否支持多核并行

在Windows中查看是否支持多核并行处理,可以通过以下几种方法: 使用任务管理器: 右键点击任务栏空白处选择“任务管理器”。 切换到“性能”标签页。 查看“处理器”一栏,如果看到多个处理器核心,并且每个核心旁边显…

每日一道算法题 有效括号序列

题目 有效括号序列_牛客题霸_牛客网 (nowcoder.com) Python 1长度必须为偶数 2就像开心消消乐一样,一左一右就消掉。 class Solution:def isValid(self , s: str) -> bool:# write code here# flag[(),{},[]]# for _ in range(len(s)//2):# for i in fl…

以HMO模式为核心,平安健康稳健前行

自2014年成立以来,平安健康始终聚焦解决“看病难、看病贵、看病远”的痛点,通过科技手段优化医疗服务流程,降低用户就医成本。经过数年的耕耘,平安健康已成功转型为一站式健康管理平台,打通了医疗、药品、康复等多个环…

力扣每日一题 6/27 字符串 贪心

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 2734.执行子串操作后的字典序最小字符串【中等】 题目: 给你一…

Java中的异常处理:Checked与Unchecked的区别

Java中的异常处理:Checked与Unchecked的区别 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 异常处理概述 在Java编程中,异常处理是一…

MySQL定位CPU利用率过高的SQL方法

前言 当mysql CPU告警利用率过高的时候,我们应该怎么定位是哪些SQL导致的呢,本文将介绍一下定位的方法。 本文所使用的方法,前提是你可以登录到Mysql所在的服务器,执行命令查看进程,当然让数据库管理员登录执行也可以…

科研所文件数据很关键,外发图纸如何控制?

图纸是科研所整个科研周期中最重要的资料类型之一。这些图纸主要用于描述和记录研究过程中的各种设计、实验装置、设备或产品原型等。 首先,科研所在进行新技术、新产品或新方法的研发时,通常需要进行详细的设计和规划。在这个过程中,科研人员…