推荐一款Nginx 可视化配置神器

x33g5p2x  于2021-08-23 转载在 Java  
字(1.8k)|赞(0)|评价(0)|浏览(293)

介绍

Nginx 是前后端开发工程师必须掌握的神器。该神器有很多使用场景,比如反向代理、负载均衡、动静分离、跨域等等。

把 Nginx 下载下来,打开 conf 文件夹的 nginx.conf 文件,Nginx 服务器的基础配置和默认的配置都存放于此。

配置是让程序员非常头疼的事,比如 Java 后端框架 SSM ,大量配置文件让不少人头皮发麻,所以才涌现了 Spring Boot 这样能简化配置的框架。

如果能够采用可视化的方式对 Nginx 进行配置,那该多好。老逛在 GitHub 上发现了一款可以一键生成 Nginx 配置的神器,相当给力。

先来看看它都支持什么功能的配置:反向代理、HTTPS、HTTP/2、IPv6, 缓存、WordPress、CDN、Node.js 支持、 Python (Django) 服务器等等。

如果你想在线进行配置,只需要打开网站:https://nginxconfig.io/,按照自己的需求进行操作就行了。
image.png

选择你的场景,填写好参数,系统就会自动生成配置文件。

开源地址:github.com/digitalocean/nginxconfig.io

网站:digitalocean.com/community/tools/nginx

使用方式

下载

  1. 下载 生成的配置: nginxconfig.io-example.com.tar.gz
    然后 上传 到你的服务器的/etc/nginx 目录.

    或, 复制压缩配置的base64字符串,将其粘贴到服务器的命令行并执行。

  2. 进入你的 NGINX服务器上的配置目录:

    cd /etc/nginx
  3. 创建当前NGINX配置的备份:

    tar -czvf nginx_$(date +'%F_%H-%M-%S').tar.gz nginx.conf sites-available/ sites-enabled/ nginxconfig.io/
  4. 使用tar解压新的压缩配置

    tar -xzvf nginxconfig.io-example.com.tar.gz

SSL初始化

  1. 在您的服务器上运行此命令生成Diffie-Hellman keys:

    openssl dhparam -out /etc/nginx/dhparam.pem 2048
  2. 创建一个通用的ACME-challenge目录(用于 Let's Encrypt):

    mkdir -p /var/www/_letsencrypt
    chown www-data /var/www/_letsencrypt

certbot

  1. 注释掉配置中的SSL相关指令:

    sed -i -r 's/(listen .*443)/\1; #/g; s/(ssl_(certificate|certificate_key|trusted_certificate) )/#;#\1/g; s/(server \{)/\1\n    ssl off;/g' /etc/nginx/sites-available/example.com.conf
  2. 重新加载你的NGINX服务器:

    sudo nginx -t && sudo systemctl reload nginx
  3. 使用Certbot从 Let's Encrypt 获得SSL证书:

    certbot certonly --webroot -d example.com --email info@example.com -w /var/www/_letsencrypt -n --agree-tos --force-renewal
  4. 在配置中取消注释SSL相关指令:

    sed -i -r -z 's/#?; ?#//g; s/(server \{)\n    ssl off;/\1/g' /etc/nginx/sites-available/example.com.conf
  5. 重新加载你的NGINX服务器:

    sudo nginx -t && sudo systemctl reload nginx
  6. 配置Certbot,当NGINX成功更新证书时重新加载:

    echo -e '#!/bin/bash\nnginx -t && systemctl reload nginx' | sudo tee /etc/letsencrypt/renewal-hooks/post/nginx-reload.sh
    sudo chmod a+x /etc/letsencrypt/renewal-hooks/post/nginx-reload.sh

上线

让我们开始吧! 🎉

重新加载NGINX以载入新的配置:

sudo nginx -t && sudo systemctl reload nginx

相关文章

微信公众号

最新文章

更多