• 强大的Nginx配置生成器


    在这里插入图片描述

    本文折腾于 9 月中旬;

    老苏虽然用过很多次 nginx ,但是对 nginx 并不熟悉,基本上是每次要用的时候才会去搜索解决方案,所以一直在找一个配置工具,Nginx Config 虽然不能完全满足老苏的需求,但也可以作为参考之用。

    什么是 Nginx Config ?

    Nginx Config 是一款可以一键生成 Nginx 配置的神器,相当给力。支持反向代理HTTPSHTTP/2IPv6, 缓存、WordPressCDNNode.jsPython (Django) 服务器等等。

    如果你不想自己安装,只需要打开网站:https://nginxconfig.io,按照自己的需求进行操作就行了。选择你的场景,填写好参数,系统就会自动生成配置文件。

    构建镜像

    如果你不想自己构建,可以跳过,直接阅读下一章节

    这是一个标准的前端项目,所以用了老苏一贯的标准 Dockerfile 模板

    FROM node:16.16 as build-deps
    MAINTAINER laosu
        
    WORKDIR /app
    COPY . ./
    RUN npm install
    RUN npm run build
      
    FROM nginx:1.12-alpine
    COPY --from=build-deps /app/dist /usr/share/nginx/html
        
    EXPOSE 80
    CMD ["nginx", "-g", "daemon off;"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    构建镜像和容器运行的基本命令如下👇

    # 下载代码
    git clone https://github.com/digitalocean/nginxconfig.io.git
      
    # 或者加个代理  
    git clone https://ghproxy.com/github.com/digitalocean/nginxconfig.io.git
      
    # 进入目录  
    cd nginxconfig.io
    
    # 将 Dockerfile 放入当前目录
      
    # 构建镜像
    docker build -t wbsu2003/nginx-config:v1 .
    
    # 运行容器
    docker run -d \
       --name nginxconfig \
       -p 3388:80 \
       wbsu2003/nginx-config:v1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    安装

    在群晖上以 Docker 方式安装。

    在注册表中搜索 wbsu2003 ,找到 wbsu2003/nginx-config,版本选择 latest

    端口

    本地端口不冲突就行,不确定的话可以用命令查一下

    # 查看端口占用
    netstat -tunlp | grep 端口号
    
    • 1
    • 2
    本地端口容器端口
    338880

    命令行安装

    如果你熟悉命令行,可能用 docker cli 更快捷

    # 运行容器
    docker run -d \
       --restart unless-stopped \
       --name nginxconfig \
       -p 3388:80 \
       wbsu2003/nginx-config
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

    version: '3'
    
    services:
      nginxconfig:
        image: wbsu2003/nginx-config
        container_name: nginxconfig
    	restart: unless-stopped
        ports:
          - 3388:80
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    然后执行下面的命令

    # 新建文件夹 nginxconfig 
    mkdir -p /volume2/docker/nginxconfig
    
    # 进入 nginxconfig 目录
    cd /volume2/docker/nginxconfig
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

    在浏览器中输入 http://群晖IP:3388 就能看到主界面

    网页代码部分指向了 https://www.digitalocean.com/ ,导致一些图标不能正常显示,所以有条件的话最好将 digitalocean.com 加入科学上网的白名单

    使用很简单,只要根据场景,填好相应的参数就可以,老苏用常用的反代测试一下,默认是 启用模块化的配置文件,会生成多个配置文件,诸如:

    • /etc/nginx/nginx.conf
    • /etc/nginx/sites-available/laosu.ml.conf
    • /etc/nginx/nginxconfig.io/letsencrypt.conf
    • /etc/nginx/nginxconfig.io/security.conf
    • /etc/nginx/nginxconfig.io/general.conf
    • /etc/nginx/nginxconfig.io/proxy.conf

    对于我们设定的场景,有用的部分是 proxy.conf

    看起来似乎有点用,因为可以解决常规场景下的应用,但似乎又没有用,因为对我们遇到的截端口等特殊场景似乎无能为力

    其实扯了一堆有的没的,还是因为老苏不会用而已 😂

    参考文档

    digitalocean/nginxconfig.io: ⚙️ NGINX config generator on steroids 💉
    地址:https://github.com/digitalocean/nginxconfig.io

  • 相关阅读:
    Git的安装
    python图像处理 ——图像锐化
    Nginx 变量
    如何系统 如何进行SQL监控-执行SQL分析打印
    如何成为一名优秀的老师?
    彻底搞懂Spring的循环依赖
    流程图布局在项目中的实践
    grpc和thrift的概念及区别
    request对象,类视图,HttpResponse对象,JsonResponse对象
    LaTeX写作之中译英神器
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/127817345