手機掃描下載
軟件指數:5 分
向日葵遠程控制電腦版64.7M應用工具
截圖軟件snipaste官方免費版15.8M應用工具
copyq綠色中文版23.2M應用工具
海康智存pc客戶端121.5M應用工具
騰訊會議pc端209.3M應用工具
元氣桌面壁紙電腦版70.0M應用工具
華為應用市場電腦版官方136M應用工具
企業微信電腦版506.3M應用工具
搜狗輸入法pc版149M應用工具
wps office電腦版251.9M應用工具
雷電模擬器pc端508.2M應用工具
360安全瀏覽器電腦版安裝包116.0M應用工具
軟件介紹軟件截圖相關版本網友評論下載地址
nginx最新穩定版本已經發布,支持windows11、10、8和7等主流操作系統,nginx是什么意思?中文翻譯就是代理服務器,用專業術語來描述就是高性能的tcp、udp、http和反向代理服務器,簡單描述就是web服務器軟件,可以說它就是為網頁而生,超級小的內存,不占電腦空間,穩定性強,從俄羅斯傳到國內后,深受國內程序猿的喜愛。
nginx安裝包是輕量級的Web服務器、反向代理服務器及電子郵件代理服務器,并在BSD-like協議下發行,在高連接并發的情況下,這款服務器是Apache服務器的不錯替代品。而且因為軟件完全用C語言編寫,所以這款強大的服務器目前能夠應用在許多操作系統平臺,比如Linux、windows、Mac OS X等等系統上。中國大陸許多網站都使用了這款軟件,比如京東、騰訊、淘寶、網易等。占用內存少,并發能力強,而且并發能力目前在同類型的軟件中表象的非常好,尤其是在網頁服務器中,該軟件的配置也非常簡潔,不需要用戶花費大量時間去進行相關配置,而且還只會賜perl語法,BUG也非常的少!
Nginx最新版(發音同 engine x)是輕量級的Web 服務器、反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。
下載解壓后,運行nginx.exe;
win10以上系統,會彈出安全提示,點擊“允許訪問”;
點擊任務管理器,查看是否啟動成功;
在進程里面,一直下拉,直到看到nginx.exe,代表安裝和運行成功。
1.配置文件結構
Nginx 的主要配置文件通常位于 /etc/nginx/nginx.conf。該文件包含全局指令、事件配置和多個 server 塊,用于定義不同的虛擬主機。
配置文件基本結構:
user nginx; # 指定運行 Nginx 的用戶
worker_processes auto; # 自動設置工作進程數量
events {
worker_connections 1024; # 每個工作進程允許的最大連接數
}
http {
include mime.types; # 包含 MIME 類型
default_type application/octet-stream; # 默認 MIME 類型
sendfile on; # 啟用高效文件傳輸
keepalive_timeout 65; # 連接保持時間
# 定義服務器塊
server {
listen 80; # 監聽端口
server_name localhost; # 服務器名稱
location / {
root /usr/share/nginx/html; # 網站根目錄
index index.html index.htm; # 默認主頁
}
# 錯誤頁面
error_page 404 /404.html;
location = /404.html {
internal;
}
}
}
2.常用指令詳解
http 塊
include mime.types;:引入 MIME 類型文件,用于根據文件擴展名設置 Content-Type。
default_type:指定默認的 MIME 類型。
sendfile on;:啟用高效的文件傳輸。
keepalive_timeout:設置保持連接的超時時間。
server 塊
listen:指定 Nginx 監聽的 IP 地址和端口。
server_name:定義服務器名稱,支持域名和 IP 地址。
location:根據請求 URI 來匹配不同的處理規則。
location 指令
location /:匹配根 URL。
location /images/:匹配以 /images/ 開頭的 URL。
location ~ \.php$:使用正則表達式匹配以 .php 結尾的 URL。
3.示例配置
3.1 基本靜態文件服務
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/example; # 網站根目錄
index index.html index.htm; # 默認主頁
}
error_page 404 /404.html; # 自定義404頁面
}
3.2 反向代理
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://backend_server; # 反向代理到后端服務器
proxy_set_header Host $host; # 轉發請求頭
proxy_set_header X-Real-IP $remote_addr; # 轉發真實 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 轉發代理 IP
}
}
3.3 SSL 配置
server {
listen 443 ssl; # 啟用 SSL
server_name example.com;
ssl_certificate /etc/ssl/certs/example.crt; # SSL 證書路徑
ssl_certificate_key /etc/ssl/private/example.key; # 私鑰路徑
location / {
root /var/www/example;
index index.html index.htm;
}
}
3.4 gzip壓縮
http {
gzip on; # 啟用 gzip 壓縮
gzip_types text/plain application/json; # 壓縮的 MIME 類型
}
3.5 日志配置
http {
access_log /var/log/nginx/access.log; # 訪問日志
error_log /var/log/nginx/error.log; # 錯誤日志
}
3.6 負載均衡
#輪詢負載均衡
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend; # 代理到 upstream 定義的服務器
}
}
}
#最少連接負載均衡
http {
upstream backend {
least_conn; # 使用最少連接方法
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
}
#IP 哈希負載均衡
http {
upstream backend {
ip_hash; # 使用 IP 哈希
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
}
3.7 安全性配置
#通過 deny 和 allow 指令來限制 IP 地址的訪問
server {
listen 80;
server_name example.com;
location / {
allow 192.168.1.0/24; # 允許某個網段的 IP
deny all; # 拒絕其他所有 IP
}
}
#防止其他網站直接鏈接到你網站的圖片
server {
listen 80;
server_name example.com;
location ~* \.(jpg|jpeg|png|gif)$ {
valid_referers none blocked example.com *.example.com;
if ($invalid_referer) {
return 403; # 拒絕訪問
}
}
}
#限制請求速率:防止 DDoS 攻擊
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location / {
limit_req zone=one burst=5;
}
}
}
3.8 URL 重寫與重定向
#重定向
server {
listen 80;
server_name old-example.com;
return 301 http://new-example.com$request_uri; # 301 重定向到新域名
}
#使用 rewrite 指令進行 URL 重寫。
server {
listen 80;
server_name example.com;
location / {
rewrite ^/oldpath/(.*)$ /newpath/$1 permanent; # 永久重寫
}
}
3.9 處理 PHP 文件
server {
listen 80;
server_name example.com;
root /var/www/example;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404; # 處理靜態文件
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000; # PHP-FPM 的地址
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
3.10 錯誤頁面定制
#可以自定義錯誤頁面,以提高用戶體驗。
server {
error_page 404 /404.html; # 定義404錯誤頁面
location = /404.html {
root /usr/share/nginx/html; # 錯誤頁面的文件路徑
internal; # 防止直接訪問
}
}
3.11 HTTP Auth Basic
#訪問某個location增加二次認證
location /protected {
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd; # 指向密碼文件
}
3.12 WebSocket 支持
server {
location /ws/ {
proxy_pass http://backend_service;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; # WebSocket 需要的頭部
proxy_set_header Connection "upgrade";
}
}
3.13 nginx防盜鏈配置
防盜鏈(Hotlink Protection)可以有效防止其他網站直接鏈接到你的資源(如圖片、視頻等),從而節省帶寬和保護內容。
server {
listen 80;
server_name example.com;
location ~* \.(jpg|jpeg|png|gif|mp4)$ {
valid_referers none blocked example.com *.example.com myfriend.com; #放行特定的網站訪問
if ($invalid_referer) {
return 403; # 拒絕請求
}
root /path/to/your/files;
}
error_page 403 /403.html;
location = /403.html {
root /usr/share/nginx/html;
internal; # 只允許內部訪問
}
}
3.14 跨域配置,基本 CORS 配置
在 Nginx 的 server 塊中添加 add_header 指令,以支持跨域請求。
server {
listen 80;
server_name example.com;
location /api/ {
add_header 'Access-Control-Allow-Origin' 'https://specific-domain.com';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
add_header 'Access-Control-Allow-Credentials' 'true';
if ($request_method = OPTIONS) {
add_header 'Access-Control-Allow-Origin' 'https://specific-domain.com';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
return 204;
}
# 其他配置
proxy_pass http://backend_service;
}
}
4.其他配置
4.1全局配置
Nginx 的全局配置包含了影響 Nginx 服務器整體行為的指令,這些指令主要位于全局塊中。全局塊通常位于 events 和 http 塊之外,它包含了對 Nginx 服務器運行所需的基本配置,如用戶和用戶組、進程數、工作目錄、錯誤日志級別、PID 文件路徑等。
常用的 Nginx 全局配置的主要指令包括:
user:指定 Nginx 工作進程運行的用戶和用戶組。
worker_processes:設置工作進程的數量,可以設置為 auto 自動匹配 CPU 核心數,或者指定具體數值。
error_log:配置錯誤日志的路徑和日志級別。
pid:指定 Nginx 主進程 ID 文件的存放位置。
舉個簡單例子:
# 全局配置
user nginx nginx; # 指定運行Nginx的用戶和用戶組為nginx
worker_processes auto; # 自動設置工作進程數量,等于CPU核心數
# 錯誤日志配置
error_log /var/log/nginx/error.log warn; # 設置錯誤日志的路徑和級別為warn
# PID文件配置
pid /var/run/nginx.pid; # 設置PID文件的存放位置
4.2 events 塊
events 塊用于設置服務器與客戶端連接的相關屬性配置。這些配置主要涉及網絡連接和事件處理。
這里也舉幾個常用的例子。
worker_connections
設置每個工作進程的最大客戶端連接數。這個指令通常與 worker_processes 指令結合使用,來計算整個 Nginx 服務器的最大并發連接數。
舉個栗子
events {
worker_connections 1024;
}
use
指定使用哪種事件模型。Nginx 支持多種事件模型,如 epoll(Linux)、kqueue(BSD)、select 和 poll 等。通常,Nginx 會根據操作系統自動選擇最佳的事件模型,但也可以手動指定。
舉個栗子
events {
use epoll;
}
multi_accept
設置是否允許服務器在單個監聽事件中接受多個連接。這可以減少 I/O 等待時間,提高性能。
舉個栗子
events {
multi_accept on;
}
accept_mutex
在某些情況下,可以設置為 on 來允許多個工作進程同時監聽相同的端口。默認情況下,它是關閉的,以避免多個進程間的端口競爭。
舉個栗子
events {
accept_mutex on;
}
accept_mutex_delay
當 accept_mutex 被啟用時,這個指令可以設置嘗試獲取互斥鎖的延遲時間。
舉個栗子
events {
accept_mutex_delay 10ms;
}
nginx -s reload 改變配置文件的時候,重啟其工作進程,來時配置文件生效
nginx -s reopen 打開日志文件
nginx -s stop 強制關閉
nginx -s quit 安全關閉
高可靠性:Nginx 的設計目標是提供 7x24 小時不間斷的服務。
模塊化:Nginx 擁有豐富的模塊系統,可以輕松擴展其功能。
配置簡單:Nginx 的配置文件結構清晰,易于理解和管理。
高性能:Nginx 能夠處理大量的并發連接,而內存使用率相對較低。
軟件截圖
相關版本
多平臺下載
渝快政電腦版官方版387.0M應用工具
kmspico激活工具8.2M應用工具
同花順pc客戶端159.7M應用工具
自然人電子稅務局(扣繳端)客戶端161M應用工具
微信小店助手pc端99.1M應用工具
中國工商銀行網銀助手官方電腦版4.9M應用工具
同花順pc客戶端159.7M應用工具
騰訊會議pc端209.3M應用工具
渝快政電腦版官方版387.0M應用工具
贛政通電腦版308.1M應用工具
華為應用市場電腦版官方136M應用工具
企業微信電腦版506.3M應用工具