码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 nginx
    
    docker 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.conf
    
    server{
        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: always
        container_name: nginx
        environment:
          TERM: xterm-256color
        image: nginx
        logging:
          driver: json-file
          options:
            max-file: '5'
            max-size: 10m
        network_mode: host
        privileged: true
        shm_size: 2g
        stdin_open: true
        tty: 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:rw
        working_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博客 ↩︎

  • 相关阅读:
    quarkus依赖注入之九:bean读写锁
    国产化项目改造:使用达梦数据库和东方通组件部署,前后端分离框架
    QLExpress代码解读,运行原理解析
    python+vue+elementui学生选课作业系统wxjjv
    Scala、Spark的安装及配置
    基于javaweb的crm客户关系管理系统(java+springboot+mysql)
    这座城又多了一个伤心的人
    AndroidStudio报错:Plugin with id ‘kotlin-android‘ not found.
    基于qlib自定义的A股股票池:计算均线,动量,MACD等以及可视化
    leetcode - 1887. Reduction Operations to Make the Array Elements Equal
  • 原文地址:https://blog.csdn.net/Bing_Lee/article/details/140008217
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号