掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Nginx 是每一個開發(fā)人員都必須掌握的強大工具,它不僅僅是一個 webserver,更包含了很多其他強大的功能:

正因為 Nginx 功能強大,所以針對其各個功能的配置項會顯得特別多,對于我們來說要記住那么多配置是一件十分頭疼的事,甚至?xí)?jīng)常出現(xiàn)符號書寫錯誤的情況。而 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) 服務(wù)器等。
項目地址:
https://github.com/digitalocean/nginxconfig.io?
Nginx Config 提供了官方在線網(wǎng)站,可以直接使用官方網(wǎng)站進行配置即可,也可以自行部署 Nginx Config 的服務(wù)。
git clone https://github.com/digitalocean/nginxconfig.io.git
npm ci
npm run dev
npm test
npm run build
生成 只需要到網(wǎng)站上找到你想到配置的項目,手動勾選或填寫配置內(nèi)容,即可實時生成并在線查看生成的配置
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
// 生成 Diffie-Hellman 密鑰:
openssl dhparam -out /etc/nginx/dhparam.pem 2048
// 創(chuàng)建目錄用于配置加密證書(Let's Encrypt)
mkdir -p /var/www/_letsencrypt
chown www-data /var/www/_letsencrypt
// 注釋掉配置中的SSL相關(guān)指令:
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服務(wù)器:
sudo nginx -t && sudo systemctl reload nginx
// 使用Certbot從 Let's Encrypt 獲得SSL證書:
certbot certonly --webroot -d example.com --email [email protected] -w /var/www/_letsencrypt -n --agree-tos --force-renewal
// 在配置中取消注釋SSL相關(guān)指令:
sed -i -r -z 's/#?; ?#//g; s/(server \{)\n ssl off;/\1/g' /etc/nginx/sites-available/example.com.conf
// 重新加載NGINX服務(wù)器:
sudo nginx -t && sudo systemctl reload nginx
// 配置Certbot,當(dāng)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

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流