› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
tlerbao
V2EX  ›  NGINX

大家都是怎么管理 Nginx 站点的?

  •  
  •   tlerbao · Oct 31, 2023 · 7959 views
    This topic created in 1109 days ago, the information mentioned may be changed or developed.

    服务器上用宝塔很方便。

    我本机是 Orbstack(Docker)环境

    每次有新开发的项目或者要测试项目我都要

    1. 在 host 里新建 xxx.test 域名指向 127.0.0.1
    2. 新建一个站点 conf ,xxx.test.conf ,然后重启 nginx 容器

    感觉有点 2B 呢,有没有快速的,或者可视化的软件实现更好的站点管理呢?

    49 replies  •  2023-11-02 11:01:53 +08:00
    relsoul
    relsoul
    Oct 31, 2023
    1
    nginx proxy manager
    tlerbao
    tlerbao
    OP
    Oct 31, 2023
    2
    @relsoul 装了一下没看明白这东西干啥的。。。。
    NessajCN
    NessajCN
    Oct 31, 2023
    3
    静态页如博客或开源文档就配好之后直接 hexo g d 或者 mkdocs build
    自建服务靠 nginx 反代那种就设好 proxy_pass 后直接动项目

    不管哪种都是配好后就不需要动 nginx 了
    kingfalse
    kingfalse
    Oct 31, 2023 via Android
    4
    本地开发直接走 IP+端口,上服务器再考虑反代
    MinonHeart
    MinonHeart
    Oct 31, 2023
    5
    1. 本机访问 URL - hosts - nginx(docker) - 本机仓库目录(缺点:不能访问未指定的目录)
    2. 本机访问 URL - hosts - nginx(docker) - 本机服务( locahost:8080/8443 ) (缺点:需要启动服务,且不能同时启动多个服务)

    nginx(docker) 主要是方便不需要 root 启 80/443 端口。通常 nginx 不需要改动,觉得没人会像我这么用
    irrigate2554
    irrigate2554
    Oct 31, 2023❤️1
    6
    换 caddy ,配置文件简单很多,而且 reload 就行,当然 nginx 也可以 reload
    juggtt213
    juggtt213
    Oct 31, 2023
    7
    换 whistle 试试?
    ymy3232
    ymy3232
    Oct 31, 2023
    8
    nginx proxy manager 可以可视化管理 有汉化版
    jiayouzl
    jiayouzl
    Oct 31, 2023
    9
    直接 NPM
    tuozhi
    tuozhi
    Oct 31, 2023 via iPhone
    10
    强推 nginx proxy manager ,操作非常简单方便,点点点
    tlerbao
    tlerbao
    OP
    Oct 31, 2023
    11
    @tuozhi
    @ymy3232 我装了一个英文版,我理解的他会读取我 nainx/conf.d 目录下的已经建立的站点,并进行管理,新建站点的话就是新建 conf ,但是好像并不是这样的,有点不明白这软件到底干啥的。
    能不能展开说说
    lovelylain
    lovelylain
    Oct 31, 2023 via Android
    12
    @tlerbao 就是个 nginx 的 webui ,通过 web 去维护反代站点,它自动生成配置文件和帮你重启。
    tlerbao
    tlerbao
    OP
    Oct 31, 2023
    13
    @lovelylain 真的不太懂 nginx ,我就是新建普通网站访问,和你们说的反代是一回事吗?
    admpubcom
    admpubcom
    Oct 31, 2023 via iPhone❤️1
    14
    刚刚发布的 [nging v5.2.3]( https://github.com/admpub/nging/releases/tag/v5.2.3) 增加了对 nginx 的支持,op 不妨一试: https://github.com/admpub/nging/releases/tag/v5.2.3
    TabGre
    TabGre
    Oct 31, 2023 via iPhone
    15
    ansible 维护一个 caddy 模版,维护应用 docker compose 建立任务 一键启动
    ByteCat
    ByteCat
    Oct 31, 2023
    16
    nginx proxy manager ,鼠标点点 10s 一个站。不过我现在换 traefik 了,更方便点
    Qetesh
    Qetesh
    Nov 1, 2023
    17
    算是一个典型的自动发现网关的需求,traefik 非常方便。在 docker 容器运行的时候添加相关 label ,就可以自动注册访问了。
    hosts 问题可以使用 surge 、clash ( hosts )添加通配符静态解析到本机
    cctv6
    cctv6
    Nov 1, 2023
    18
    分配一个通配符子域名解析到 k8s 的 ingress 控制器的 IP 上,部署站点的时候写 yaml 文件的时候把 ingress 加上就可以了。
    rammiah
    rammiah
    Nov 1, 2023
    19
    orbstack 的 docker 容器不是支持使用域名访问吗?
    rammiah
    rammiah
    Nov 1, 2023
    20
    https://sslip.io/ 学习 knative 的时候碰到了这个网站,可以自定义域名和 ip
    zuotun
    zuotun
    Nov 1, 2023
    21
    有域名的话用个三级子域名 A 记录指向本机 IP, 顺便还能白嫖一个一年的证书. 有证书办事会方便很多, 比如浏览器可能会自动跳 HTTPS.

    没有的话就像上面说的那样, 类似 clash 可以直接通配符 hsot 解析到本机 IP, 然后可以用 mkcert 自签证书. 其实用定制的 DNS 也可以做到, 但是需要修改本机默认 DNS.

    这样就不需要去改本地 host, 然后就是监听不同端口访问的事了 (泛解析也行)

    另外没看懂这有多麻烦, 而且本地测试就别折磨自己了, 直装 nginx 也许更方便一些.
    由于我如果要编辑配置文件的话, 终端一定早就打开了, 个人感觉是无所谓. 而且大部分情况也不会只是简单的加一个 proxy_pass, 比如:

    ```
    location / {
    proxy_http_version 1.1;
    proxy_set_header "Connection" "";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://vaultwarden;
    }

    location /admin {
    auth_basic "Private";
    auth_basic_user_file /path/to/.passwd;
    proxy_http_version 1.1;
    proxy_set_header "Connection" "";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_pass http://vaultwarden;
    }

    ```
    mikaelson
    mikaelson
    Nov 1, 2023
    22
    标记一下,回头来看各路大神的回复
    ccde8259
    ccde8259
    Nov 1, 2023 via iPhone
    23
    k8s 用户有 traefik
    全靠 cccv yaml 过日子
    先复制个 yaml 去申请 cert
    然后再复制个 yaml 写 ingressroute…
    Showfom
    Showfom
    PRO
    Nov 1, 2023
    24
    虽然 Caddy 或 Traefik 配置起来更方便,但是和 Nginx 性能对比,还是完败,不建议大流量的网站用这两货

    看国外老哥们的综合性能对比测试:

    https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e
    https://blog.tjll.net/reverse-proxy-hot-dog-eating-contest-caddy-vs-nginx/
    wxyrrcj
    wxyrrcj
    Nov 1, 2023
    25
    npm
    guo4224
    guo4224
    Nov 1, 2023 via iPhone
    26
    apisix
    tlerbao
    tlerbao
    OP
    Nov 1, 2023
    27
    @zuotun clash 通配符 host 解析到本机,这个具体怎么操作呢?
    i4t
    i4t
    Nov 1, 2023
    28
    我用 APISIX 批量管理了 (纯 proxy 的站点,内网穿透主站)
    timnottom
    timnottom
    Nov 1, 2023
    29
    之前想用 caddy ,但是它的配置文件语法,真的让我难以继续用下去;可能先入为主 Nginx 了
    lxiian
    lxiian
    Nov 1, 2023
    30
    我是 caddy 一把嗦
    adoal
    adoal
    Nov 1, 2023❤️1
    31
    对一般人的使用规模而言,有工夫学这些有的没的靠谱不靠谱的 manager UI 软件,手冲 nginx.conf 都冲出各种拉花了。
    fsdrw08
    fsdrw08
    Nov 1, 2023 via Android
    32
    traefik + consul catalog
    zuotun
    zuotun
    Nov 1, 2023
    33
    @tlerbao 官方文档有写, 如果一般是不关那这样很方便 (关了怎么上 V 站!)

    给个示例, 不解释应该也能看懂.

    ```
    hosts:
    +.router.kazusa.cc: 10.0.0.1
    *.clash.router: 10.0.0.1
    .lan: 10.0.0.1
    touma.kazusa.cc: 10.0.0.1
    ```

    如果是用 CFW 记得主界面就有 host 选项.
    Huelse
    Huelse
    Nov 1, 2023
    34
    nginx 的配置可以说是个 DSL
    blessingsi
    blessingsi
    Nov 1, 2023
    35
    既然只是在本机上进行开发测试,为什么非要用 Nginx 呢,随便起个 web 服务器不就行了。
    zuotun
    zuotun
    Nov 1, 2023
    36
    @adoal 我就是纯手冲, 包括 nginx 都是自己编译的.
    当时 mainline 还不支持 HTTP/3, 自己又添加了 rtmp 玩了一下.
    zuotun
    zuotun
    Nov 1, 2023
    37
    @blessingsi 说起来 clash 也可以通过 external-ui 起一个静态网站服务器, 不过这也太怪了.
    liuliancao
    liuliancao
    Nov 1, 2023
    38
    把你的步骤写成脚本也就还好吧 其他的 反而有学习成本
    vacuitym
    vacuitym
    Nov 1, 2023
    39
    以前是 apisix 配合他的后台
    tlerbao
    tlerbao
    OP
    Nov 1, 2023
    40
    @zuotun #33

    我这 CFW 怎么没看见 host 相关的内容呢,你给的示例是改哪个文件呢?

    zuotun
    zuotun
    Nov 1, 2023
    41
    @tlerbao 那就随便改个现有的配置文件吧, 随便点开一个然后添加 host: 就行了.
    实在不行可以看看这个 https://wiki.metacubex.one/config/dns/hosts/

    至于文件其实只有一份, 还没哪个订阅会对 host 进行覆写所以写哪都行.
    tlerbao
    tlerbao
    OP
    Nov 1, 2023
    42
    @zuotun #41 我手持 N 个梯子,是要改某个梯子的配置吗,改完了更新订阅不就覆盖了没有了吗,有没有全局加这个的地方哈哈,好菜啊,打扰了。
    zuotun
    zuotun
    Nov 1, 2023
    43
    @tlerbao 去改 `~/.config/clash/config.yaml`, 有不懂先去读文档, 不管是 clash 还是 CFW 都行.
    tlerbao
    tlerbao
    OP
    Nov 1, 2023
    44
    @zuotun #43 我使用 mixin 写入了 hosts 成功代理了*.test 到 127.0.0.1 ,问题来了,哈哈,我在 chrome 浏览器下可以正确访问到 xxx.test ,但是我得 api 调试工具类似 postman ,访问不到和 warp 终端里 npm run dev 启动的 vue3 项目依然无法正确访问到 xxx.test ,经过测试给 api 调试工具开启代理指向 clash 的 7890 ,api 调试工具能访问了,

    哈哈,但是现在 warp 终端里的 npm run dev 的项目还是不行,不知道什么原因
    zuotun
    zuotun
    Nov 1, 2023
    45
    @tlerbao 可以参考这个 https://kazusa.cc/geek/understanding-clash-configuration-files-in-one-article.html
    打开 DNS 和 TUN 再看看. 另外同一台设备可能会理不清, 但如果用虚拟机容器这种可以很轻松的搞定 (都不需要弄代理, 一个 DNS 指向 clash 就行了)
    litchinn
    litchinn
    Nov 2, 2023
    46
    yekern
    yekern
    Nov 2, 2023
    47
    Laravel Valet 很好用不过只能在 Mac 下使用
    mepwang
    mepwang
    Nov 2, 2023
    48
    https://github.com/nginx-proxy/acme-companion
    acme-companion 本身使用 docker 启动,管理 nginx 运行容器,不需要修改 nginx 配置文件,只要为每个应用的 docker 容器指定子域名环境变量即可,还能够自动申请 ssl 证书
    suke119
    suke119
    Nov 2, 2023
    49
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1053 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 101ms · UTC 23:22 · PVG 07:22 · LAX 15:22 · JFK 18:22
    ♥ Do have faith in what you're doing.