原創|強大!Nginx 配置線上一鍵生成“神器”

民工哥發表於2019-05-31

Nginx作為一個輕量級的HTTP伺服器,相比Apache優勢也是比較明顯的,在效能上它佔用資源少,能支援更高更多的併發連線,從而達到提高訪問效率;在功能上它是一款非常優秀的代理伺服器與負載均衡伺服器;在安裝配置上它安裝,配置都比較簡單。

關於Nginx部署、配置的文章公眾號已經發布過很多:

深度總結|深入淺出Nginx

HTTP伺服器Nginx服務介紹續

Nginx優化配置詳解

1分鐘搞定 Nginx 版本的平滑升級與回滾

終極指南:提高Nginx伺服器硬度的12個技巧

大流量、高負載場景 Nginx+Linux 效能調優

利用ELK分析Nginx日誌生產實戰(高清多圖)

文章很多,就不再逐一列舉了,有興趣的、需要的可以去公眾號通過檢索功能查詢相關的文章。

對於Nginx一些配置的詳細解釋,之前也寫過相關的文章:

Nginx優化配置詳解

但在實際的生產配置環境中,肯定會經常遇到需要修改、或者重新增加Nginx配置的問題,有的時候需求更是多種多樣,修修改改經常會出現這樣、那樣的一些錯誤,特別的煩索。

 

基於以上的原因,肯定很多讀者夥伴經常會收集一些配置文件、或者電腦裡也儲存著一些自己日常的常用配置案例,但是終究還是不是很便利。今天,民工哥給大家介紹一款「超級牛掰的神器」,可以線上一鍵生成Nginx的配置。

網址:https://nginxconfig.io/

NGINX Config 支援 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、快取、逆向代理、日誌等各種配置選項。線上生成 Web 伺服器 Nginx 配置檔案。

操作配置也非常簡單,你需要做的只需要2步:

  • 開啟官方網站 

  • 按需求配置相關引數

系統就會自動生成特定的配置檔案。雖然介面是英文的,但是功能的頁面做的非常直觀,生成的Nginx格式規範。

登陸之後大概的介面如下:

案例展示

配置域名:mingongge.com 實現使用者訪問*.mingongge.com 域名時會自動跳轉到 mingongge.com 此配置,並且開啟http強制跳轉到https的配置。

 

這時,Nginx的配置就會實時自動生成在下面,我把生成的配置複製過來,如下:

/etc/nginx/sites-available/mingongge.com.conf#檔名都給你按規則配置好了
server {
listen 443 ssl http2;

server_name mingongge.com;

# SSL
ssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;

# security
include nginxconfig.io/security.conf;

# additional config
include nginxconfig.io/general.conf;
}

# subdomains redirect
server {
listen 443 ssl http2;

server_name *.mingongge.com;

# SSL
ssl_certificate /etc/letsencrypt/live/mingongge.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mingongge.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/mingongge.com/chain.pem;

return 301 https://mingongge.com$request_uri;
}

# HTTP redirect
server {
listen 80;

server_name .mingongge.com;

include nginxconfig.io/letsencrypt.conf;

location / {
return 301 https://mingongge.com$request_uri;
}
}

非常的方便與快速。

官方還提供一些Nginx的基礎優化配置,如下:

/etc/nginx/nginx.conf
# Generated by nginxconfig.io

user www-data;
pid /run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;

events {
multi_accept on;
worker_connections 65535;
}

http {
charset utf-8;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
log_not_found off;
types_hash_max_size 2048;
client_max_body_size 16M;

# MIME
include mime.types;
default_type application/octet-stream;

# logging
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;

# load configs
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

還有基於安全的配置,如下:

/etc/nginx/nginxconfig.io/security.conf
# security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" always;

# . files
location ~ /\.(?!well-known) {
deny all;
}

都相當於是提供一些基礎的模板配置,可以根據自己的實際需求去修改。

有了這個神器在手,再也不用為配置Nginx的各類配置而煩惱了!!民工哥也不敢私藏這麼好的神器在手裡,今天給大家分享一下,感覺有幫助的讀者朋友們記得轉發分享出去哦,感謝支援!!!

民工哥技術之路原創文章分享,轉載請於文章開頭處註明出處,原文地址及作者相關資訊。

相關文章