日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Nginx速查手冊(cè)及常見(jiàn)問(wèn)題_nginx

作者:Roc-xb ? 更新時(shí)間: 2022-06-09 編程語(yǔ)言

Nginx是一款輕量級(jí)的HTTP服務(wù)器,采用事件驅(qū)動(dòng)的異步非阻塞處理方式框架,這讓其具有極好的IO性能,時(shí)常用于服務(wù)端的反向代理和負(fù)載均衡。

常用命令

使用自定義配置文件啟動(dòng)

nginx -c /opt/nginx/config/nginx.conf 

柔和重啟

nginx -s reload

優(yōu)雅停止服務(wù)

nginx -s quit

強(qiáng)制停止服務(wù)

nginx -s stop

配置文件檢查

nginx -t

常用配置

反向代理

server {  
  listen 80;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host:$server_port;
  }
}

負(fù)載均衡

upstream test {
  server localhost:8080;
  server localhost:8081;
}
server {
  listen 81;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://test;
    proxy_set_header Host $host:$server_port;
  }
}

http服務(wù)器

server {
  listen 80;                                                         
  server_name localhost;                                               
  client_max_body_size 1024M;

  location / {
    root e:\wwwroot;
    index index.html;
  }
}

動(dòng)靜分離

upstream test{  
  server localhost:8080;  
  server localhost:8081;  
}   

server {  
  listen 80;  
  server_name localhost;  

  location / {  
    root d:\wwwroot;  
    index index.html;  
  }  

  --所有靜態(tài)請(qǐng)求都由nginx處理,存放目錄為html  
  location ~ \.(gif|jpg|jpeg|png|bmp|swf|css|js)$ {  
    root d:\wwwroot;  
  }  

  --所有動(dòng)態(tài)請(qǐng)求都轉(zhuǎn)發(fā)給tomcat處理  
  location ~ \.(jsp|do)$ {  
    proxy_pass http://test;  
  }  

  error_page 500 502 503 504 /50x.html;  
  location = /50x.html {  
    root d:\wwwroot;  
  }  
}

正向代理

resolver 114.114.114.114 8.8.8.8;
  server {
    resolver_timeout 5s;
    listen 81;
    access_log d:\wwwroot\proxy.access.log;
    error_log d:\wwwroot\proxy.error.log;
    location / {
      proxy_pass http://$host$request_uri;
    }
  }
#防盜鏈
location ~* \.(gif|jpg|png)$ {
    # 只允許 192.168.0.1 請(qǐng)求資源
    valid_referers none blocked 192.168.0.1;
    if ($invalid_referer) {
       rewrite ^/ http://$host/logo.png;
}

根據(jù)文件類(lèi)型設(shè)置過(guò)期時(shí)間

location ~.*\.css$ {
    expires 1d;
    break;
}
location ~.*\.js$ {
    expires 1d;
    break;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    access_log off;
    expires 15d; #保存15天
    break;
}

匹配規(guī)則

location = / {
  # 精確匹配 / ,主機(jī)名后面不能帶任何字符串
  [ configuration A ]
}
location / {
  # 因?yàn)樗械牡刂范家?/ 開(kāi)頭,所以這條規(guī)則將匹配到所有請(qǐng)求
  # 但是正則和最長(zhǎng)字符串會(huì)優(yōu)先匹配
  [ configuration B ]
location /documents/ {
  # 匹配任何以 /documents/ 開(kāi)頭的地址,匹配符合以后,還要繼續(xù)往下搜索
  # 只有后面的正則表達(dá)式?jīng)]有匹配到時(shí),這一條才會(huì)采用這一條
  [ configuration C ]
location ~ /documents/Abc {
  # 匹配任何以 /documents/Abc 開(kāi)頭的地址,匹配符合以后,還要繼續(xù)往下搜索
  [ configuration CC ]
location ^~ /images/ {
  # 匹配任何以 /images/ 開(kāi)頭的地址,匹配符合以后,停止往下搜索正則,采用這一條。
  [ configuration D ]
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配所有以 gif,jpg或jpeg 結(jié)尾的請(qǐng)求
  # 然而,所有請(qǐng)求 /images/ 下的圖片會(huì)被 config D 處理,因?yàn)?^~ 到達(dá)不了這一條正則
  [ configuration E ]
location /images/ {
  # 字符匹配到 /images/,繼續(xù)往下,會(huì)發(fā)現(xiàn) ^~ 存在
  [ configuration F ]
location /images/abc {
  # 最長(zhǎng)字符匹配到 /images/abc,繼續(xù)往下,會(huì)發(fā)現(xiàn) ^~ 存在
  # F與G的放置順序是沒(méi)有關(guān)系的
  [ configuration G ]
location ~ /images/abc/ {
  # 只有去掉 config D 才有效:先最長(zhǎng)匹配 config G 開(kāi)頭的地址,繼續(xù)往下搜索,匹配到這一條正則,采用
    [ configuration H ]

常見(jiàn)問(wèn)題

# root 和 alias的區(qū)別?
**root**
location /i/ {
  root /data/wwwroot;
}
真實(shí)的路徑是root指定的值加上location指定的值,即/data/wwwroot/i/...

**alias**
location /i/ {
  alias /data/wwwroot/;
}
在服務(wù)器查找的資源路徑是: /data/wwwroot/...

原文鏈接:https://blog.csdn.net/qq_19309473/article/details/123931929

欄目分類(lèi)
最近更新