社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

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

算法爱好者 • 2 年前 • 351 次点击  

【导语】:还是手工配置 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、一次非常有意思的 SQL 优化经历:从 30248.271s 到 0.001s

2、一位数学专业女生大学毕业前的感慨

3、聊聊 SSD 的基本原理


觉得本文有帮助?请分享给更多人

推荐关注「算法爱好者」,修炼编程内功

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/135988
 
351 次点击