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

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

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

Centos7安裝Nginx

下載地址:nginx: download
中間這個就是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)建一個目錄 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

啟動Nginx

在/usr/local/nginx/sbin目錄下啟動nginx

./nginx

防火墻開啟80端口

就能訪問到Nginx首頁了

image-20220810174511499

Nginx命令

(1)啟動命令:在/usr/local/nginx/sbin目錄下執(zhí)行 ./nginx
(2)關閉命令:在/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)查看進程:ps -ef|grep nginx

Nginx具體應用

反向代理

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

配置反向代理:

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

當我們192.168.205.1:80 就會轉(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; #反向代理配置,將請請求轉(zhuǎn)發(fā)到指定服務
}

訪問192.168.205.1:80/tom/index.html就會訪問=>192.168.205.1:8080/tom/index.html

location指令說明

該指令用于匹配 URL。
語法如下:

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

負載均衡

配置負載均衡
upstream稱為上游服務器,即真實處理請求的業(yè)務服務器。

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

解釋:

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

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
每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。 例如:

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

④fair(第三方)
按后端服務器的響應時間來分配請求,響應時間短的優(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ù):

動靜分離

Nginx 動靜分離簡單來說就是把動態(tài)請求跟靜態(tài)請求分開,Nginx 處理靜態(tài)請求,Tomcat處理動態(tài)請求。
動靜分離從目前實現(xiàn)角度來講大致分為兩種:

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

將a.jpg放到tom文件夾下:
通過反向代理訪問http://192.168.242.66/tom/a.jpg
=>http://192.168.242.66:8080/tom/a.jpg

Nginx.conf配置詳解

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

全局塊:和Nginx運行相關的全局配置

events塊:和網(wǎng)絡連接相關的配置

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

  • http全局塊
  • Server塊

servler全局塊
location塊

#安全問題,建議用nobody,不要用root.
#user  nobody;
#worker數(shù)和服務器的cpu數(shù)相等是最為適宜
worker_processes  2;
#work綁定cpu(4 work綁定4cpu)
worker_cpu_affinity 0001 0010 0100 1000
#error_log path(存放路徑) level(日志等級) path表示日志路徑,level表示日志等級,
#具體如下:[ debug | info | notice | warn | error | crit ]
#從左至右,日志詳細程度逐級遞減,即debug最詳細,crit最少,默認為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;  
    #這個值是表示nginx要支持哪種多路io復用。
    #一般的Linux選擇epoll, 如果是(*BSD)系列的Linux使用kquene。
    #windows版本的nginx不支持多路IO復用,這個值不用配。
    use epoll;
    # 當一個worker搶占到一個鏈接時,是否盡可能的讓其獲得更多的連接,默認是off 。
    multi_accept on; //并發(fā)量大時緩解客戶端等待時間。
    # 默認是on ,開啟nginx的搶占鎖機制。
    accept_mutex  on; //master指派worker搶占鎖
}
http {
    #當web服務器收到靜態(tài)的資源文件請求時,依據(jù)請求文件的后綴名在服務器的MIME配置文件中找到對應的MIME Type,再根據(jù)MIME Type設置HTTP Response的Content-Type,然后瀏覽器根據(jù)Content-Type的值處理文件。
    include       mime.types;  #/usr/local/nginx/conf/mime.types
    #如果 不能從mime.types找到映射的話,用以下作為默認值-二進制
    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]:(訪問時間) 
     #3)GET:http請求方式,有GET和POST兩種
     #4)/movie_cat.php?year=2013:當前訪問的網(wǎng)頁是動態(tài)網(wǎng)頁,movie_cat.php即請求的后臺接口,year=2013為具體接口的參數(shù)
     #5)200:服務狀態(tài),200表示正常,常見的還有,301永久重定向、4XX表示請求出錯、5XX服務器內(nèi)部錯誤
     #6)5209:傳送字節(jié)數(shù)為5209,單位為byte
     #7)"http://www.baidu.com":refer:即當前頁面的上一個網(wǎng)頁
     #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字段:通常用來記錄操作系統(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"';
    #開啟從磁盤直接到網(wǎng)絡的文件傳輸,適用于有大文件上傳下載的情況,提高IO效率。
    sendfile        on; //大文件傳遞優(yōu)化,提高效率
    #一個請求完成之后還要保持連接多久,0表示完成請求后直接關閉連接。默認:75s
    keepalive_timeout  60s; 
    #開啟或者關閉gzip模塊, 文件壓縮,再傳輸,提高效率
    #gzip  on ; 
    #設置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進行獲取。
    #gzip_min_lenth 1k;
    # gzip壓縮比,1 壓縮比最小處理速度最快,9 壓縮比最大但處理最慢(傳輸快但比較消耗cpu)
    #gzip_comp_level 4;
    #匹配MIME類型進行壓縮,(無論是否指定)"text/html"類型總是會被壓縮的。
    #gzip_types types text/plain text/css application/json  application/x-javascript text/xml   
    #動靜分離
    #服務器端靜態(tài)資源緩存,最大緩存到內(nèi)存中的文件,不活躍期限
    open_file_cache max=655350 inactive=20s;   
    #活躍期限內(nèi)最少使用的次數(shù),否則視為不活躍。
    open_file_cache_min_uses 2;
    #驗證緩存是否活躍的時間間隔 
    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)聽端口號
        listen       80;
        #服務名
        server_name  192.168.137.129;
        #字符集
        #charset utf-8;
        location / {   #匹配任何查詢。
            root   html;#資源查找位置。         /user/local/nginx/html
            #默認訪問首頁索引文件的名稱
            index  index.html index.htm;
            #反向代理路徑
            proxy_pass http://myserver;
            #反向代理的超時時間
            proxy_connect_timeout 10;
            proxy_redirect default;
         }
          #普通匹配
        location  /images/ {    
                    root images ;
        }
         #反正則匹配
         location ^~ /images/jpg/ {  # 匹配任何以 /images/jpg/ 開頭的任何查詢并且停止搜索。任何正則表達式將不會被測試。 
                      root images/jpg/ ;
         }
         #正則匹配
         location ~*.(gif|jpg|jpeg)$ {       
                      #所有靜態(tài)文件直接讀取硬盤
                      root pic ;
                      #expires定義用戶瀏覽器緩存的時間為3天,如果靜態(tài)頁面不常更新,可以設置更長,這樣可以節(jié)省帶寬和緩解服務器的壓力
                      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;
        } 
    }
}

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

相關文章

最新評論