手機(jī)掃描下載
軟件指數(shù):5 分
幕享投屏電腦版(letsview)1.5M應(yīng)用工具
SmartScore X64 Pro免費(fèi)版618.7M應(yīng)用工具
傲軟投屏破解版解鎖永久會(huì)員功能99.0M應(yīng)用工具
sia smaartlive7音頻檢測(cè)軟件34.0M應(yīng)用工具
作家助手電腦版142.5M應(yīng)用工具
HDD Regenerator中文版(硬盤物理壞道修復(fù)工具)7.3M應(yīng)用工具
華為應(yīng)用市場(chǎng)電腦版官方136M應(yīng)用工具
企業(yè)微信電腦版506.3M應(yīng)用工具
wps office電腦版260.3M應(yīng)用工具
搜狗輸入法pc版150M應(yīng)用工具
雷電模擬器pc端6.8M應(yīng)用工具
解壓專家電腦版5.7M應(yīng)用工具
軟件介紹軟件截圖相關(guān)版本網(wǎng)友評(píng)論下載地址
nginx最新穩(wěn)定版本已經(jīng)發(fā)布,支持windows11、10、8和7等主流操作系統(tǒng),nginx是什么意思?中文翻譯就是代理服務(wù)器,用專業(yè)術(shù)語(yǔ)來(lái)描述就是高性能的tcp、udp、http和反向代理服務(wù)器,簡(jiǎn)單描述就是web服務(wù)器軟件,可以說(shuō)它就是為網(wǎng)頁(yè)而生,超級(jí)小的內(nèi)存,不占電腦空間,穩(wěn)定性強(qiáng),從俄羅斯傳到國(guó)內(nèi)后,深受國(guó)內(nèi)程序猿的喜愛(ài)。
nginx安裝包是輕量級(jí)的Web服務(wù)器、反向代理服務(wù)器及電子郵件代理服務(wù)器,并在BSD-like協(xié)議下發(fā)行,在高連接并發(fā)的情況下,這款服務(wù)器是Apache服務(wù)器的不錯(cuò)替代品。而且因?yàn)檐浖耆肅語(yǔ)言編寫,所以這款強(qiáng)大的服務(wù)器目前能夠應(yīng)用在許多操作系統(tǒng)平臺(tái),比如Linux、windows、Mac OS X等等系統(tǒng)上。中國(guó)大陸許多網(wǎng)站都使用了這款軟件,比如京東、騰訊、淘寶、網(wǎng)易等。占用內(nèi)存少,并發(fā)能力強(qiáng),而且并發(fā)能力目前在同類型的軟件中表象的非常好,尤其是在網(wǎng)頁(yè)服務(wù)器中,該軟件的配置也非常簡(jiǎn)潔,不需要用戶花費(fèi)大量時(shí)間去進(jìn)行相關(guān)配置,而且還只會(huì)賜perl語(yǔ)法,BUG也非常的少!
Nginx最新版(發(fā)音同 engine x)是輕量級(jí)的Web 服務(wù)器、反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開(kāi)發(fā),供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler(俄文:Рамблер)使用。
下載解壓后,運(yùn)行nginx.exe;
win10以上系統(tǒng),會(huì)彈出安全提示,點(diǎn)擊“允許訪問(wèn)”;
點(diǎn)擊任務(wù)管理器,查看是否啟動(dòng)成功;
在進(jìn)程里面,一直下拉,直到看到nginx.exe,代表安裝和運(yùn)行成功。
1.配置文件結(jié)構(gòu)
Nginx 的主要配置文件通常位于 /etc/nginx/nginx.conf。該文件包含全局指令、事件配置和多個(gè) server 塊,用于定義不同的虛擬主機(jī)。
配置文件基本結(jié)構(gòu):
user nginx; # 指定運(yùn)行 Nginx 的用戶
worker_processes auto; # 自動(dòng)設(shè)置工作進(jìn)程數(shù)量
events {
worker_connections 1024; # 每個(gè)工作進(jìn)程允許的最大連接數(shù)
}
http {
include mime.types; # 包含 MIME 類型
default_type application/octet-stream; # 默認(rèn) MIME 類型
sendfile on; # 啟用高效文件傳輸
keepalive_timeout 65; # 連接保持時(shí)間
# 定義服務(wù)器塊
server {
listen 80; # 監(jiān)聽(tīng)端口
server_name localhost; # 服務(wù)器名稱
location / {
root /usr/share/nginx/html; # 網(wǎng)站根目錄
index index.html index.htm; # 默認(rèn)主頁(yè)
}
# 錯(cuò)誤頁(yè)面
error_page 404 /404.html;
location = /404.html {
internal;
}
}
}
2.常用指令詳解
http 塊
include mime.types;:引入 MIME 類型文件,用于根據(jù)文件擴(kuò)展名設(shè)置 Content-Type。
default_type:指定默認(rèn)的 MIME 類型。
sendfile on;:?jiǎn)⒂酶咝У奈募䝼鬏敗?/p>
keepalive_timeout:設(shè)置保持連接的超時(shí)時(shí)間。
server 塊
listen:指定 Nginx 監(jiān)聽(tīng)的 IP 地址和端口。
server_name:定義服務(wù)器名稱,支持域名和 IP 地址。
location:根據(jù)請(qǐng)求 URI 來(lái)匹配不同的處理規(guī)則。
location 指令
location /:匹配根 URL。
location /images/:匹配以 /images/ 開(kāi)頭的 URL。
location ~ \.php$:使用正則表達(dá)式匹配以 .php 結(jié)尾的 URL。
3.示例配置
3.1 基本靜態(tài)文件服務(wù)
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/example; # 網(wǎng)站根目錄
index index.html index.htm; # 默認(rèn)主頁(yè)
}
error_page 404 /404.html; # 自定義404頁(yè)面
}
3.2 反向代理
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://backend_server; # 反向代理到后端服務(wù)器
proxy_set_header Host $host; # 轉(zhuǎn)發(fā)請(qǐng)求頭
proxy_set_header X-Real-IP $remote_addr; # 轉(zhuǎn)發(fā)真實(shí) IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 轉(zhuǎn)發(fā)代理 IP
}
}
3.3 SSL 配置
server {
listen 443 ssl; # 啟用 SSL
server_name example.com;
ssl_certificate /etc/ssl/certs/example.crt; # SSL 證書(shū)路徑
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; # 訪問(wèn)日志
error_log /var/log/nginx/error.log; # 錯(cuò)誤日志
}
3.6 負(fù)載均衡
#輪詢負(fù)載均衡
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 定義的服務(wù)器
}
}
}
#最少連接負(fù)載均衡
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 哈希負(fù)載均衡
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 安全性配置
#通過(guò) deny 和 allow 指令來(lái)限制 IP 地址的訪問(wèn)
server {
listen 80;
server_name example.com;
location / {
allow 192.168.1.0/24; # 允許某個(gè)網(wǎng)段的 IP
deny all; # 拒絕其他所有 IP
}
}
#防止其他網(wǎng)站直接鏈接到你網(wǎng)站的圖片
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; # 拒絕訪問(wèn)
}
}
}
#限制請(qǐng)求速率:防止 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 指令進(jìn)行 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; # 處理靜態(tài)文件
}
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 錯(cuò)誤頁(yè)面定制
#可以自定義錯(cuò)誤頁(yè)面,以提高用戶體驗(yàn)。
server {
error_page 404 /404.html; # 定義404錯(cuò)誤頁(yè)面
location = /404.html {
root /usr/share/nginx/html; # 錯(cuò)誤頁(yè)面的文件路徑
internal; # 防止直接訪問(wèn)
}
}
3.11 HTTP Auth Basic
#訪問(wèn)某個(gè)location增加二次認(rèn)證
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)可以有效防止其他網(wǎng)站直接鏈接到你的資源(如圖片、視頻等),從而節(jié)省帶寬和保護(hù)內(nèi)容。
server {
listen 80;
server_name example.com;
location ~* \.(jpg|jpeg|png|gif|mp4)$ {
valid_referers none blocked example.com *.example.com myfriend.com; #放行特定的網(wǎng)站訪問(wèn)
if ($invalid_referer) {
return 403; # 拒絕請(qǐng)求
}
root /path/to/your/files;
}
error_page 403 /403.html;
location = /403.html {
root /usr/share/nginx/html;
internal; # 只允許內(nèi)部訪問(wèn)
}
}
3.14 跨域配置,基本 CORS 配置
在 Nginx 的 server 塊中添加 add_header 指令,以支持跨域請(qǐng)求。
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 服務(wù)器整體行為的指令,這些指令主要位于全局塊中。全局塊通常位于 events 和 http 塊之外,它包含了對(duì) Nginx 服務(wù)器運(yùn)行所需的基本配置,如用戶和用戶組、進(jìn)程數(shù)、工作目錄、錯(cuò)誤日志級(jí)別、PID 文件路徑等。
常用的 Nginx 全局配置的主要指令包括:
user:指定 Nginx 工作進(jìn)程運(yùn)行的用戶和用戶組。
worker_processes:設(shè)置工作進(jìn)程的數(shù)量,可以設(shè)置為 auto 自動(dòng)匹配 CPU 核心數(shù),或者指定具體數(shù)值。
error_log:配置錯(cuò)誤日志的路徑和日志級(jí)別。
pid:指定 Nginx 主進(jìn)程 ID 文件的存放位置。
舉個(gè)簡(jiǎn)單例子:
# 全局配置
user nginx nginx; # 指定運(yùn)行Nginx的用戶和用戶組為nginx
worker_processes auto; # 自動(dòng)設(shè)置工作進(jìn)程數(shù)量,等于CPU核心數(shù)
# 錯(cuò)誤日志配置
error_log /var/log/nginx/error.log warn; # 設(shè)置錯(cuò)誤日志的路徑和級(jí)別為warn
# PID文件配置
pid /var/run/nginx.pid; # 設(shè)置PID文件的存放位置
4.2 events 塊
events 塊用于設(shè)置服務(wù)器與客戶端連接的相關(guān)屬性配置。這些配置主要涉及網(wǎng)絡(luò)連接和事件處理。
這里也舉幾個(gè)常用的例子。
worker_connections
設(shè)置每個(gè)工作進(jìn)程的最大客戶端連接數(shù)。這個(gè)指令通常與 worker_processes 指令結(jié)合使用,來(lái)計(jì)算整個(gè) Nginx 服務(wù)器的最大并發(fā)連接數(shù)。
舉個(gè)栗子
events {
worker_connections 1024;
}
use
指定使用哪種事件模型。Nginx 支持多種事件模型,如 epoll(Linux)、kqueue(BSD)、select 和 poll 等。通常,Nginx 會(huì)根據(jù)操作系統(tǒng)自動(dòng)選擇最佳的事件模型,但也可以手動(dòng)指定。
舉個(gè)栗子
events {
use epoll;
}
multi_accept
設(shè)置是否允許服務(wù)器在單個(gè)監(jiān)聽(tīng)事件中接受多個(gè)連接。這可以減少 I/O 等待時(shí)間,提高性能。
舉個(gè)栗子
events {
multi_accept on;
}
accept_mutex
在某些情況下,可以設(shè)置為 on 來(lái)允許多個(gè)工作進(jìn)程同時(shí)監(jiān)聽(tīng)相同的端口。默認(rèn)情況下,它是關(guān)閉的,以避免多個(gè)進(jìn)程間的端口競(jìng)爭(zhēng)。
舉個(gè)栗子
events {
accept_mutex on;
}
accept_mutex_delay
當(dāng) accept_mutex 被啟用時(shí),這個(gè)指令可以設(shè)置嘗試獲取互斥鎖的延遲時(shí)間。
舉個(gè)栗子
events {
accept_mutex_delay 10ms;
}
nginx -s reload 改變配置文件的時(shí)候,重啟其工作進(jìn)程,來(lái)時(shí)配置文件生效
nginx -s reopen 打開(kāi)日志文件
nginx -s stop 強(qiáng)制關(guān)閉
nginx -s quit 安全關(guān)閉
高可靠性:Nginx 的設(shè)計(jì)目標(biāo)是提供 7x24 小時(shí)不間斷的服務(wù)。
模塊化:Nginx 擁有豐富的模塊系統(tǒng),可以輕松擴(kuò)展其功能。
配置簡(jiǎn)單:Nginx 的配置文件結(jié)構(gòu)清晰,易于理解和管理。
高性能:Nginx 能夠處理大量的并發(fā)連接,而內(nèi)存使用率相對(duì)較低。
acrobatprodc破解版免費(fèi)中文版1.05G應(yīng)用工具
microsoftoffice2024中文綠色破解版免費(fèi)版297.3M應(yīng)用工具
同花順pc客戶端162.2M應(yīng)用工具
渝快政電腦版官方版385M應(yīng)用工具
中國(guó)銀行網(wǎng)銀助手電腦版36.5M應(yīng)用工具
winrar解壓軟件破解版3.7M應(yīng)用工具
同花順pc客戶端162.2M應(yīng)用工具
渝快政電腦版官方版385M應(yīng)用工具
騰訊會(huì)議pc端209.3M應(yīng)用工具
贛政通電腦版308.1M應(yīng)用工具
華為應(yīng)用市場(chǎng)電腦版官方136M應(yīng)用工具
企業(yè)微信電腦版506.3M應(yīng)用工具