1.8 万 Star!这款 Nginx 可视化配置工具太强了!

百家 作者:程序员的那些事 2022-06-16 21:05:49

【导语】:还是手工配置 Nginx ?来试试这款强大的 Nginx 配置文件生成器。

简介

Nginx Config 是一个强大的 Nginx 配置文件生成器,号称配置 Nginx 服务器所需的唯一工具。


Nginx 是每一个开发人员都必须掌握的强大工具,它不仅仅是一个 webserver,更包含了很多其他强大的功能:

  • 内存使用率低
  • 支持高并发
  • 异步事件驱动架构
  • 负载均衡
  • 反向代理
  • 带缓存的 ?FastCGI 支持(PHP)
  • 静态文件的快速处理
  • TSL/SSL

正因为 Nginx 功能强大,所以针对其各个功能的配置项会显得特别多,对于我们来说要记住那么多配置是一件十分头疼的事,甚至会经常出现符号书写错误的情况。而 Nginx Config 正是提供了简单配置 Nginx 的方法,通过可视化页面,针对 Nginx 的各个配置项提供了简洁明了的配置方法。

Nginx Config 支持以下功能的可视化配置:HTTPS、HTTP/2、IPv6、certbot、HSTS、安全请求头、SSL 配置、OCSP 解析器、缓存、gzip、brotli、回退路由、反向代理、www/non-www 重定向、CDN、PHP(TCP/socket、 WordPress、Drupal、Magento、Joomla)、Node.js、Python (Django) 服务器等。

项目地址:

https://github.com/digitalocean/nginxconfig.io

安装使用

安装

Nginx Config 提供了官方在线网站,可以直接使用官方网站进行配置即可,也可以自行部署 Nginx Config 的服务。

  1. clone 远程仓库:
git?clone?https://github.com/digitalocean/nginxconfig.io.git
  1. 安装依赖包
npm?ci
  1. 开发环境版本部署
npm?run?dev
  1. 打开 localhost:8080
  2. 检查代码(eslint 和 stylelint)
npm?test
  1. 构建生产环境版本
npm?run?build

简单使用

  1. 生成 只需要到网站上找到你想到配置的项目,手动勾选或填写配置内容,即可实时生成并在线查看生成的配置


  2. 下载 下载生成的 nginxconfig.io-example.com.tar.gz 文件,然后上传到服务器的 /etc/nginx 目录,执行以下命令:

cd?/etc/nginx
tar?-czvf?nginx_$(date?+'%F_%H-%M-%S').tar.gz?nginx.conf?sites-available/?sites-enabled/?nginxconfig.io/
tar?-xzvf?nginxconfig.io-example.com.tar.gz?|?xargs?chmod?0644

或者复制压缩配置的 base64 字符串,粘贴到服务器执行。

  1. ssl 初始化
//?生成 Diffie-Hellman 密钥:
openssl?dhparam?-out?/etc/nginx/dhparam.pem?2048
//?创建目录用于配置加密证书(Let's?Encrypt)
mkdir?-p?/var/www/_letsencrypt
chown?www-data?/var/www/_letsencrypt
  1. certbot
//?注释掉配置中的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
//?重新加载NGINX服务器:
sudo?nginx?-t?&&?sudo?systemctl?reload?nginx
//?使用Certbot从?Let's?Encrypt?获得SSL证书:
certbot?certonly?--webroot?-d?example.com?--email?info@example.com?-w?/var/www/_letsencrypt?-n?--agree-tos?--force-renewal
//?在配置中取消注释SSL相关指令:
sed?-i?-r?-z?'
s/#?;??#//g;?s/(server?\{)\n????ssl?off;/\1/g'?/etc/nginx/sites-available/example.com.conf
//?重新加载NGINX服务器:
sudo?nginx?-t?&&?sudo?systemctl?reload?nginx
//?配置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
  1. 完成上线
//?重新加载NGINX载入新的配置:
sudo?nginx?-t?&&?sudo?systemctl?reload?nginx


- EOF -

推荐阅读??点击标题可跳转

1、当字节跳动在美国输出中国式 996

2、我在荷兰做程序员的体验

3、浏览器可运行 Python 代码了!Python 是要前后端通吃了吗?


关注「程序员的那些事」加星标,不错过圈内事

点赞和在看就是最大的支持?

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接