久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Nginx的安裝部署以及使用

      【介紹】

      nginx是現(xiàn)在互聯(lián)上非常流行的高性能的 Web 和 反向代理 服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。

      現(xiàn)在很多互聯(lián)網(wǎng)應(yīng)用都使用nginx來作為負(fù)載均衡的使用,再高并發(fā)的情況下,使用Nginx來代替Apache是一種很不錯(cuò)的選擇。

      【安裝】

      ·安裝編譯工具以及庫文件·

      yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

      ·安裝PCRE·

      PCRE的作用是為了Nginx支持Rewrite功能。

      1. 下載PCRE安裝包

      cd /usr/local/src/
      wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

      2. 解壓

      tar zxvf pcre-8.35.tar.gz

      3. 進(jìn)入安裝包目錄,編譯安裝

      cd pcre-8.35
      ./configure
      make && make install

      4. 查看版本

      pcre-config –version

      ·安裝nginx·

      1. 下載安裝包

      cd /usr/local/src/
      wget http://nginx.org/download/nginx-1.6.2.tar.gz

      2. 解壓

      tar zxvf nginx-1.6.2.tar.gz

      3. 進(jìn)入安裝包目錄,編譯安裝

      cd nginx-1.6.2
      ./configure –prefix=/usr/local/webserver/nginx –with-http_stub_status_module –with-http_ssl_module –with-pcre=/usr/local/src/pcre-8.35

      make && make install

      4. 查看nginx版本

      /usr/local/webserver/nginx/sbin/nginx -v

      5. 將nginx命令設(shè)置為全局

      cp /usr/local/webserver/nginx/sbin/nginx /usr/bin

      【配置】

      vim /usr/local/webserver/nginx/conf/nginx.conf

      worker_processes 2;  #設(shè)置值和CPU核心數(shù)一致

      server {

       listen 80; #監(jiān)聽端口

      }

      【啟動】

      修改完成配置之后,使用以下命令檢查一下配置:

      nginx -c /usr/local/webserver/nginx/conf/nginx.conf

      nginx  -t

      使用以下命令加載配置文件并重啟:

      nginx -s reload

      查看一下防火墻是否關(guān)閉,如果未關(guān)閉需要關(guān)閉,否則從瀏覽器訪問80端口可能受阻。

      systemctl status firewalld
      systemctl stop firewalld

      在瀏覽器頁面上輸入IP加端口,可以顯示出以下頁面即為安裝成功(可能需要等待幾分鐘)  

      【配置優(yōu)化】

      以上的配置只是最最基本的配置,只能讓nginx簡單得跑起來,我們依然需要以下配置使nginx實(shí)現(xiàn)反向代理或者負(fù)載均衡。

      設(shè)置用戶

      #user nobody;

      工作進(jìn)程數(shù),一般設(shè)置為cpu核心數(shù)

      worker_processes 1;

      pid文件(保證進(jìn)程只有一個(gè))

      pid /run/nginx.pid;

      events {

      最大連接數(shù),一般設(shè)置為cpu*2048

       worker_connections 1024;

      }

      http {

      開啟gzip壓縮(提高傳輸速率)(需要客戶端瀏覽器和nginx服務(wù)器同時(shí)支持)

      gzip on;

      壓縮最小文件大小

      gzip_min_lenth 1k;

      壓縮申請內(nèi)存(4個(gè)16k的數(shù)據(jù)流)

      gzip_buffers 4 16k;

      http協(xié)議版本號(不對應(yīng)的話是不支持壓縮的)

      gzip_http_version 1.1;

      如果客戶端瀏覽器不支持,則不進(jìn)行壓縮

         gzip_vary on;

      日志格式

      log_format main

      客戶端IP 客戶端用戶名 請求URL

      ‘$remote_addr – $remote_user [$time_local] “$request” ‘

      請求狀態(tài) 返回給客戶端的字節(jié)數(shù) 源網(wǎng)頁(百度->百度貼吧)

      ‘$status $body_bytes_sent “$http_referer” ‘

      客戶端瀏覽器信息 客戶端IP地址(和$remote_addr差不多)

      ‘”$http_user_agent” “$http_x_forwarded_for”‘;

      日志路徑 off代表不存儲日志,后面跟著日志的位置,main代表使用的日志格式

      access_log off

      access_log logs/access.log main;

      客戶端鏈接超時(shí)時(shí)間(有長連接的時(shí)候,這個(gè)字段需要設(shè)置大一點(diǎn))

      keepalive_timeout 65;

      當(dāng)配置多個(gè)server節(jié)點(diǎn)時(shí),默認(rèn)server names的緩存區(qū)大小就不夠了,需要手動設(shè)置大一點(diǎn)

      server_names_hash_bucket_size 512;

      server表示虛擬主機(jī)可以理解為一個(gè)站點(diǎn),可以配置多個(gè)server節(jié)點(diǎn)搭建多個(gè)站點(diǎn)

      每一個(gè)請求進(jìn)來由server_name確定使用哪個(gè)server

      server {

      站點(diǎn)監(jiān)聽端口

      listen        8800;

      站點(diǎn)訪問域名,可以通過此字段判斷使用哪個(gè)server

      server_name localhost;

      編碼格式,避免url參數(shù)亂碼

      charset utf-8;

      location用來匹配同一域名下多個(gè)URI的訪問規(guī)則比如動態(tài)資源如何跳轉(zhuǎn),靜態(tài)資源如何跳轉(zhuǎn)等location后面跟著的/代表匹配規(guī)則

      location / {

      站點(diǎn)根目錄,可以是相對路徑,也可以是絕對路徑

      root html;

      默認(rèn)主頁

      index index.html;

      轉(zhuǎn)發(fā)后端站點(diǎn)地址,一般用于做軟負(fù)載,輪詢后端服務(wù)器

      proxy_pass http://10.11.12.237:8080;

      拒絕請求,返回403,一般用于某些目錄禁止訪問

      #deny all;

      允許請求

      #allow all;

      給請求頭中添加客戶請求主機(jī)名

      proxy_set_header Host $host;

      給請求頭中添加客戶端IP

      proxy_set_header X-Real-IP $remote_addr;

      將$remote_addr變量值添加在客戶端”X-Forwarded-For”請求頭的后面,并以逗號分隔。 

      如果客戶端請求未攜帶”X-Forwarded-For”請求頭,$proxy_add_x_forwarded_for變量值將與$remote_addr變量相同

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      給請求頭中添加客戶端的Cookie

      proxy_set_header Cookie $http_cookie;

      修改從被代理服務(wù)器傳來的應(yīng)答頭中的”Location”和”Refresh”字段。

      proxy_redirect [ default | off | redirect replacement ]

      如果使用”default”參數(shù),將根據(jù)location和proxy_pass參數(shù)的設(shè)置來決定。

      location /one/ {

        proxy_pass http://upstream:port/two/;

        proxy_redirect default;

      }

      location /one/ {

        proxy_pass http://upstream:port/two/;

        proxy_redirect http://upstream:port/two/ /one/;

      }

      參數(shù)off將在這個(gè)字段中禁止所有的proxy_redirect指令

      proxy_redirect off;

      被代理服務(wù)器返回Location字段為: http://localhost:8000/two/some/uri/

      將Location字段重寫為 http://frontend/one/some/uri/。

      proxy_redirect http://localhost:8000/two/ http://frontend/one/;

      使用服務(wù)器的基本名稱和端口,即使它來自非80端口

      proxy_redirect http://localhost:8000/two/ /;

      瀏覽器對 Cookie 有很多限制,如果 Cookie 的 Domain 部分與當(dāng)前頁面的 Domain 不匹配就無法寫入。

      所以如果請求 A 域名,服務(wù)器 proxy_pass 到 B 域名,然后 B 服務(wù)器輸出 Domian=B 的 Cookie,

      前端的頁面依然停留在 A 域名上,于是瀏覽器就無法將 Cookie 寫入。

      不僅是域名,瀏覽器對 Path 也有限制。

      我們經(jīng)常會 proxy_pass 到目標(biāo)服務(wù)器的某個(gè) Path 下,不把這個(gè) Path 暴露給瀏覽器。

      這時(shí)候如果目標(biāo)服務(wù)器的 Cookie 寫死了 Path 也會出現(xiàn) Cookie 無法寫入的問題。

      設(shè)置”Set-Cookie”響應(yīng)頭中的domain屬性的替換文本,其值可以為一個(gè)字符串、正則表達(dá)式的模式或一個(gè)引用的變量

      轉(zhuǎn)發(fā)后端服務(wù)器如果需要Cookie則需要將cookie domain也進(jìn)行轉(zhuǎn)換,否則前端域名與后端域名不一致cookie就會無法存取

      配置規(guī)則。

      proxy_cookie_domain serverDomain(后端服務(wù)器域) nginxDomain(nginx服務(wù)器域)

      proxy_cookie_domain localhost .testcaigou800.com;

      取消當(dāng)前配置級別的所有proxy_cookie_domain指令

      proxy_cookie_domain off;

      與后端服務(wù)器建立連接的超時(shí)時(shí)間。一般不可能大于75秒;(只是一般情況,有些長處理可能超時(shí)時(shí)間較長)

      proxy_connect_timeout 30;

      }

      后端服務(wù)器返回404時(shí)顯示的頁面

      error_page 404 /404.html;

      后端服務(wù)器返回500等錯(cuò)誤的時(shí)候顯示的頁面

      error_page  500 502 503 504 /50x.html;

        location = /50x.html {

        root html;

      }

      }

        當(dāng)需要對同一端口監(jiān)聽多個(gè)域名時(shí),使用如下配置,端口相同域名不同,server_name也可以使用正則進(jìn)行配置

        但要注意server過多需要手動擴(kuò)大server_names_hash_bucket_size緩存區(qū)大小

        server {

          listen 80;

          server_name bbb.abc.com;

          charset utf-8;

          location / {

            proxy_pass http://localhost:10001;

          }

        }

        server {

          listen 80;

          server_name aaa.abc.com;

          charset utf-8;

          location / {

            proxy_pass http://localhost:20002;

          }

        }

      }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號