强大的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<wbsu2003@gmail.com>

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;"]

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

# 下载代码
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

安装

在群晖上以 Docker 方式安装。

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

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号

本地端口容器端口338880

命令行安装

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

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name nginxconfig \
   -p 3388:80 \
   wbsu2003/nginx-config

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

version: '3'
services:
  nginxconfig:
    image: wbsu2003/nginx-config
    container_name: nginxconfig
	restart: unless-stopped
    ports:
      - 3388:80

然后执行下面的命令

# 新建文件夹 nginxconfig
mkdir -p /volume2/docker/nginxconfig
# 进入 nginxconfig 目录
cd /volume2/docker/nginxconfig
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行

在浏览器中输入 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

到此这篇关于强大的Nginx配置生成器的文章就介绍到这了,更多相关Nginx配置生成器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Nginx如何配置根据路径转发详解

    目录 先谈理解: 1.nginx基本概念 2.常用命令以及配置文件 3.nginx配置实例之反向代理 4.nginx配置实例之负载均衡 5.nginx配置实例之动静分离 6.nginx配置高可用集群 Location规则 举例 总结 先谈理解: 1.反向代理:是nginx代理所有的服务器.而正向代理是vpn代理客户端!! 反向代理是配置 proxy_pass 可以只配置一个地址如 : proxy_pass http://127.0.0.1:8081; 也可以配置多个 2.那就是负载均衡 定义负载

  • nginx的配置转发到其他网站详解

    目录 需求 用return 302 用proxy_pass 关于proxy_pass使用的语法,与/有关 其他问题 需求 有这样一个需求:项目中跳转到某个地址,但这个地址不想暴露给用户. 因此我们想到要做一层代理,通过项目某个路径直接用ngnix代理到这个地址. 查询相关文档后,发现方案如下: 用return 302 location /myBaidu { return 302 http://baidu.com; } 这种方案会直接跳转到baidu,并且会改变域名,相当于直接location.h

  • nginx配置指令之server_name的具体使用

    目录 前言 server_name指令 精确匹配配置 通配符模式配置 正则表达式配置 server_name与host匹配优先级如下: 如果都不匹配 前言 作为nginx的http模块中的重要指令,对于使用nginx的同学来说,有必要做深入的了解: server_name指令 用于设置虚拟主机服务名称,如:127.0.0.1 . localhost .域名[www.baidu.com | www.jd.com] 关于 server_name 的配置方式有三种,分别是: 精确匹配 通配符匹配 正则

  • 强大的Nginx配置生成器详解

    目录 构建镜像 安装 端口 命令行安装 运行 参考文档 本文折腾于 9 月中旬: 老苏虽然用过很多次 nginx ,但是对 nginx 并不熟悉,基本上是每次要用的时候才会去搜索解决方案,所以一直在找一个配置工具,Nginx Config 虽然不能完全满足老苏的需求,但也可以作为参考之用. 什么是 Nginx Config ? Nginx Config 是一款可以一键生成 Nginx 配置的神器,相当给力.支持反向代理.HTTPS.HTTP/2.IPv6, 缓存.WordPress.CDN.No

  • Nginx配置使用详解

    配置步骤: 1.配置nginx的方法:首先要打开“/etc/nginx/conf.d/”文件夹: 2.然后创建配置文件:接着在“/etc/nginx/nginx.conf”文件中修改配置项: 3.最后重新启动nginx即可 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器Nginx (engine x) 也是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler

  • Nginx配置优化详解

    大多数的Nginx安装指南告诉你如下基础知识--通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了.然而,如果你真的想挤压出nginx的性能,你必须更深入一些.在本指南中,我将解释Nginx的那些设置可以微调,以优化处理大量客户端时的性能.需要注意一点,这不是一个全面的微调指南.这是一个简单的预览--那些可以通过微调来提高性能设置的概述.你的情况可能不同. 基本的(优化过的)配置 我

  • Nginx+Tomcat负载均衡集群安装配置案例详解

    目录 前言 一.Nginx+Tomcat 二.配置Nginx服务器 三.部署Tomcat应用服务器 总结 前言 介绍Tomcat及Nginx+Tomcat负载均衡集群,Tomcat的应用场景,然后重点介绍Tomcat的安装配置.Nginx+Tomcat负载均衡集案列是应用于生产环境的一套可靠的Web站点解决方案. 一.Nginx+Tomcat 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完

  • ThinkPHP 在阿里云上的nginx.config配置实例详解

    具体代码如下所示: # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log;

  • Nginx 多站点配置实例详解

    Nginx 多站点配置实例详解 在一台 VPS 上,我们有时候需要同时跑几个 virtualenv.比如 virtualenv app1 跑的是 Django 的一个应用,而 virtualenv app2 跑的是 Tornado.那么如何配置 Nginx,让它同时支持这两个 virtualenv 的运行呢? 首先是 Nginx 的主配置,位于 etc/nginx/ngnix.conf,让它保持默认就行: user nginx; worker_processes 1; error_log /va

  • Centos7下nginx的安装与配置教程详解

    说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下载编译安装PCRE库 切换到usr/local目录下执行命令 下载安装包 wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz 解压安装包 tar -zxvf pcre-8.36.tar.gz 编译安

  • 关于Nginx动静分离详解以及配置

    1.Nginx动静分离概念 动静分离,通过中间件将动态请求和静态请求进行分离,分离资源,减少不必要的请求消耗,减少请求延时. 好处:动静分离后,即使动态服务不可用,但静态资源不会受到影响 通过中间件可以将动态请求和静态请求进行分离 2.Nginx动静分离应用案例 2.1.环境规划 系统 服务 服务 地址 centos7.5 负载均衡 Nginx proxy 192.168.81.210 centos7.5 静态资源 Nginx static 192.168.81.220 centos7.5 动态

  • Apache和Nginx的优缺点详解_动力节点Java学院整理

    Apache和Nginx比较 功能对比 Nginx和Apache一样,都是HTTP服务器软件,在功能实现上都采用模块化结构设计,都支持通用的语言接口,如PHP.Perl.Python等,同时还支持正向和反向代理.虚拟主机.URL重写.压缩传输.SSL加密传输等. 在功能实现上,Apache的所有模块都支持动.静态编译,而Nginx模块都是静态编译的, 对FastCGI的支持,Apache对Fcgi的支持不好,而Nginx对Fcgi的支持非常好: 在处理连接方式上,Nginx支持epoll,而Ap

  • Nginx服务器Nginx.com配置文件详解

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但

随机推荐