欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx安裝及具體應(yīng)用小結(jié)

 更新時(shí)間:2024年02月03日 11:01:43   作者:白小筠  
Nginx 動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開(kāi),Nginx 處理靜態(tài)請(qǐng)求,Tomcat處理動(dòng)態(tài)請(qǐng)求,這篇文章主要介紹了Nginx安裝及具體應(yīng)用小結(jié),需要的朋友可以參考下

Centos7安裝Nginx

下載地址:nginx: download
中間這個(gè)就是tar.gz包

Centos7安裝Nginx

  • 下載nginx-1.16.1.tar.gz
  • 上傳到Centos7中的/user/local目錄下
  • 安裝Nginx依賴的包
  • yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  • 解壓 tar -zxvf nginx-1.16.1.tar.gz
  • 在/user/local創(chuàng)建一個(gè)目錄 mkdir -p /user/local/nginx
  • 在/usr/local/nginx-1.16.1目錄下執(zhí)行configure./configure --prefix=/usr/local/nginx
  • 安裝 make && make install

檢查配置文件正確性
在/usr/local/nginx/sbin目錄下執(zhí)行./nginx -t

啟動(dòng)Nginx

在/usr/local/nginx/sbin目錄下啟動(dòng)nginx

./nginx

防火墻開(kāi)啟80端口

就能訪問(wèn)到Nginx首頁(yè)了

image-20220810174511499

Nginx命令

(1)啟動(dòng)命令:在/usr/local/nginx/sbin目錄下執(zhí)行 ./nginx
(2)關(guān)閉命令:在/usr/local/nginx/sbin目錄下執(zhí)行 ./nginx -s stop
(3)重新加載命令:在/usr/local/nginx/sbin目錄下執(zhí)行 ./nginx -s reload
(4)查看版本:在/usr/local/nginx/sbin目錄下執(zhí)行 ./nginx -v
(5)查看進(jìn)程:ps -ef|grep nginx

Nginx具體應(yīng)用

反向代理

反向代理服務(wù)器位于用戶與目標(biāo)服務(wù)器之間,但是對(duì)于用戶而言,反向代理服務(wù)器就相當(dāng)于目標(biāo)服務(wù)器,即用戶直接訪問(wèn)反向代理服務(wù)器就可以獲取目標(biāo)服務(wù)器的資源,反向代理服務(wù)器負(fù)責(zé)將請(qǐng)求轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器。用戶不需要知道目標(biāo)服務(wù)器的地址,也無(wú)需在用戶端做出任何設(shè)定。

配置反向代理:

    server {
        listen       82;
        server_name  localhost;
        location / {
      proxy_pass http://192.168.205.1:8080; #反向代理配置,將請(qǐng)請(qǐng)求轉(zhuǎn)發(fā)到指定服務(wù)
    }

當(dāng)我們192.168.205.1:80 就會(huì)轉(zhuǎn)發(fā)到=>http://192.168.205.1:8080

如果location配置如下:

    server {
        listen       80;
        server_name  localhost;
       location ~ /tom/ {
       proxy_pass http://127.0.0.1:8080; #反向代理配置,將請(qǐng)請(qǐng)求轉(zhuǎn)發(fā)到指定服務(wù)
}

訪問(wèn)192.168.205.1:80/tom/index.html就會(huì)訪問(wèn)=>192.168.205.1:8080/tom/index.html

location指令說(shuō)明

該指令用于匹配 URL。
語(yǔ)法如下:

1、= :用于不含正則表達(dá)式的 uri 前,要求請(qǐng)求字符串與 uri 嚴(yán)格匹配,如果匹配成功,就停止繼續(xù)向下搜索并立即處理該請(qǐng)求。
2、~:用于表示 uri 包含正則表達(dá)式,并且區(qū)分大小寫。
3、~:用于表示 uri 包含正則表達(dá)式,并且不區(qū)分大小寫。
4、^~:用于不含正則表達(dá)式的 uri 前,要求 Nginx 服務(wù)器找到標(biāo)識(shí) uri 和請(qǐng)求字符串匹配度最高的 location 后,立即使用此 location 處理請(qǐng)求,而不再使用 location 塊中的正則 uri 和請(qǐng)求字符串做匹配。
注意:如果 uri 包含正則表達(dá)式,則必須要有 ~ 或者 ~ 標(biāo)識(shí)。

負(fù)載均衡

配置負(fù)載均衡
upstream稱為上游服務(wù)器,即真實(shí)處理請(qǐng)求的業(yè)務(wù)服務(wù)器。

upstream targetserver{
#定義一組服務(wù)器
server 192.168.205.1:8080;
server 192.168.205.1:8081;
}
server{
listen 8080;
server_name localhost;
location / {
proxy_pass http://targetserver;
}
}
名稱說(shuō)明
輪詢默認(rèn)方式
weight權(quán)重方式
ip_hash依據(jù)ip分配方式
least_conn依據(jù)最小連接方式
url_hash依據(jù)url分配方式
fair依據(jù)響應(yīng)時(shí)間方式

解釋:

①輪詢(默認(rèn))
每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除
②weight
weight代表權(quán),重默認(rèn)為1,權(quán)重越高被分配的客戶端越多
指定輪詢幾率,weight和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況。 例如:

upstream server_pool{   
server 192.168.10.1 weight=1;    
server 192.168.10.2 weight=2; 
server 192.168.10.3 weight=3;   
}

③ip_hash
每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題。 例如:

upstream server_pool{   
ip_hash;    
server 192.168.10.1:80;   
server 192.168.10.2:80;  
server 192.168.10.3:80;  
}

④fair(第三方)
按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。

upstream server_pool{   
server 192.168.10.1:80;    
server 192.168.10.2:80;
server 192.168.10.3:80;
fair;    
}

其他參數(shù):

動(dòng)靜分離

Nginx 動(dòng)靜分離簡(jiǎn)單來(lái)說(shuō)就是把動(dòng)態(tài)請(qǐng)求跟靜態(tài)請(qǐng)求分開(kāi),Nginx 處理靜態(tài)請(qǐng)求,Tomcat處理動(dòng)態(tài)請(qǐng)求。
動(dòng)靜分離從目前實(shí)現(xiàn)角度來(lái)講大致分為兩種:

  • 一種是純粹把靜態(tài)文件獨(dú)立成單獨(dú)的域名,放在獨(dú)立的服務(wù)器上,也是目前主流推崇的方案;
  • 另外一種方法就是動(dòng)態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過(guò)
  • nginx 來(lái)分開(kāi)。 通過(guò) location 指定不同的后綴名實(shí)現(xiàn)不同的請(qǐng)求轉(zhuǎn)發(fā)。

將a.jpg放到tom文件夾下:
通過(guò)反向代理訪問(wèn)http://192.168.242.66/tom/a.jpg
=>http://192.168.242.66:8080/tom/a.jpg

Nginx.conf配置詳解

Nginx配置文件(conf/nginx.conf)整體分為三個(gè)部分:

全局塊:和Nginx運(yùn)行相關(guān)的全局配置

events塊:和網(wǎng)絡(luò)連接相關(guān)的配置

http塊:代理、緩存、日志記錄、虛擬主機(jī)配置

  • http全局塊
  • Server塊

servler全局塊
location塊

#安全問(wèn)題,建議用nobody,不要用root.
#user  nobody;
#worker數(shù)和服務(wù)器的cpu數(shù)相等是最為適宜
worker_processes  2;
#work綁定cpu(4 work綁定4cpu)
worker_cpu_affinity 0001 0010 0100 1000
#error_log path(存放路徑) level(日志等級(jí)) path表示日志路徑,level表示日志等級(jí),
#具體如下:[ debug | info | notice | warn | error | crit ]
#從左至右,日志詳細(xì)程度逐級(jí)遞減,即debug最詳細(xì),crit最少,默認(rèn)為crit。 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;  
    #這個(gè)值是表示nginx要支持哪種多路io復(fù)用。
    #一般的Linux選擇epoll, 如果是(*BSD)系列的Linux使用kquene。
    #windows版本的nginx不支持多路IO復(fù)用,這個(gè)值不用配。
    use epoll;
    # 當(dāng)一個(gè)worker搶占到一個(gè)鏈接時(shí),是否盡可能的讓其獲得更多的連接,默認(rèn)是off 。
    multi_accept on; //并發(fā)量大時(shí)緩解客戶端等待時(shí)間。
    # 默認(rèn)是on ,開(kāi)啟nginx的搶占鎖機(jī)制。
    accept_mutex  on; //master指派worker搶占鎖
}
http {
    #當(dāng)web服務(wù)器收到靜態(tài)的資源文件請(qǐng)求時(shí),依據(jù)請(qǐng)求文件的后綴名在服務(wù)器的MIME配置文件中找到對(duì)應(yīng)的MIME Type,再根據(jù)MIME Type設(shè)置HTTP Response的Content-Type,然后瀏覽器根據(jù)Content-Type的值處理文件。
    include       mime.types;  #/usr/local/nginx/conf/mime.types
    #如果 不能從mime.types找到映射的話,用以下作為默認(rèn)值-二進(jìn)制
    default_type  application/octet-stream;
     #日志位置
     access_log  logs/host.access.log  main;
     #一條典型的accesslog:
     #101.226.166.254 - - [21/Oct/2013:20:34:28 +0800] "GET /movie_cat.php?year=2013 HTTP/1.1" 200 5209 "http://www.baidu.com" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDR; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; Tablet PC 2.0); 360Spider"
     #1)101.226.166.254:(用戶IP)
     #2)[21/Oct/2013:20:34:28 +0800]:(訪問(wèn)時(shí)間) 
     #3)GET:http請(qǐng)求方式,有GET和POST兩種
     #4)/movie_cat.php?year=2013:當(dāng)前訪問(wèn)的網(wǎng)頁(yè)是動(dòng)態(tài)網(wǎng)頁(yè),movie_cat.php即請(qǐng)求的后臺(tái)接口,year=2013為具體接口的參數(shù)
     #5)200:服務(wù)狀態(tài),200表示正常,常見(jiàn)的還有,301永久重定向、4XX表示請(qǐng)求出錯(cuò)、5XX服務(wù)器內(nèi)部錯(cuò)誤
     #6)5209:傳送字節(jié)數(shù)為5209,單位為byte
     #7)"http://www.baidu.com":refer:即當(dāng)前頁(yè)面的上一個(gè)網(wǎng)頁(yè)
     #8)"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; #.NET CLR 3.0.30729; Media Center PC 6.0; MDDR; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; Tablet PC 2.0); 360Spider": agent字段:通常用來(lái)記錄操作系統(tǒng)、瀏覽器版本、瀏覽器內(nèi)核等信息
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    #開(kāi)啟從磁盤直接到網(wǎng)絡(luò)的文件傳輸,適用于有大文件上傳下載的情況,提高IO效率。
    sendfile        on; //大文件傳遞優(yōu)化,提高效率
    #一個(gè)請(qǐng)求完成之后還要保持連接多久,0表示完成請(qǐng)求后直接關(guān)閉連接。默認(rèn):75s
    keepalive_timeout  60s; 
    #開(kāi)啟或者關(guān)閉gzip模塊, 文件壓縮,再傳輸,提高效率
    #gzip  on ; 
    #設(shè)置允許壓縮的頁(yè)面最小字節(jié)數(shù),頁(yè)面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取。
    #gzip_min_lenth 1k;
    # gzip壓縮比,1 壓縮比最小處理速度最快,9 壓縮比最大但處理最慢(傳輸快但比較消耗cpu)
    #gzip_comp_level 4;
    #匹配MIME類型進(jìn)行壓縮,(無(wú)論是否指定)"text/html"類型總是會(huì)被壓縮的。
    #gzip_types types text/plain text/css application/json  application/x-javascript text/xml   
    #動(dòng)靜分離
    #服務(wù)器端靜態(tài)資源緩存,最大緩存到內(nèi)存中的文件,不活躍期限
    open_file_cache max=655350 inactive=20s;   
    #活躍期限內(nèi)最少使用的次數(shù),否則視為不活躍。
    open_file_cache_min_uses 2;
    #驗(yàn)證緩存是否活躍的時(shí)間間隔 
    open_file_cache_valid 30s;
    upstream  myserver{
        # ip_hash;
        server 192.168.161.132:8080 weight=1;
        server 192.168.161.132:8081 weight=1 backup;
        #hash $request_uri
        #hash_method crc32
    }
    server {
        #監(jiān)聽(tīng)端口號(hào)
        listen       80;
        #服務(wù)名
        server_name  192.168.137.129;
        #字符集
        #charset utf-8;
        location / {   #匹配任何查詢。
            root   html;#資源查找位置。         /user/local/nginx/html
            #默認(rèn)訪問(wèn)首頁(yè)索引文件的名稱
            index  index.html index.htm;
            #反向代理路徑
            proxy_pass http://myserver;
            #反向代理的超時(shí)時(shí)間
            proxy_connect_timeout 10;
            proxy_redirect default;
         }
          #普通匹配
        location  /images/ {    
                    root images ;
        }
         #反正則匹配
         location ^~ /images/jpg/ {  # 匹配任何以 /images/jpg/ 開(kāi)頭的任何查詢并且停止搜索。任何正則表達(dá)式將不會(huì)被測(cè)試。 
                      root images/jpg/ ;
         }
         #正則匹配
         location ~*.(gif|jpg|jpeg)$ {       
                      #所有靜態(tài)文件直接讀取硬盤
                      root pic ;
                      #expires定義用戶瀏覽器緩存的時(shí)間為3天,如果靜態(tài)頁(yè)面不常更新,可以設(shè)置更長(zhǎng),這樣可以節(jié)省帶寬和緩解服務(wù)器的壓力
                      expires 3d; 
         }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } 
    }
}

到此這篇關(guān)于Nginx安裝以及具體應(yīng)用的文章就介紹到這了,更多相關(guān)Nginx安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論