1.8 萬 Star!這款 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 的服務。
- clone 遠程倉庫:
git clone https://github.com/digitalocean/nginxconfig.io.git
- 安裝依賴包
npm ci
- 開發環境版本部署
npm run dev
- 打開 localhost:8080
- 檢查代碼(eslint 和 stylelint)
npm test
- 構建生產環境版本
npm run build
簡單使用
生成 只需要到網站上找到你想到配置的項目,手動勾選或填寫配置內容,即可實時生成并在線查看生成的配置

- 下載 下載生成的 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 字符串,粘貼到服務器執行。
- 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
- 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
- 完成上線
// 重新加載NGINX載入新的配置:
sudo nginx -t && sudo systemctl reload nginx