久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放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. 站長(zhǎng)資訊網(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來(lái)作為負(fù)載均衡的使用,再高并發(fā)的情況下,使用Nginx來(lái)代替Apache是一種很不錯(cuò)的選擇。

      【安裝】

      ·安裝編譯工具以及庫(kù)文件·

      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)聽(tīng)端口

      }

      【啟動(dòng)】

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

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

      nginx  -t

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

      nginx -s reload

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

      systemctl status firewalld
      systemctl stop firewalld

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

      【配置優(yōu)化】

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

      設(shè)置用戶(hù)

      #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 {

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

      gzip on;

      壓縮最小文件大小

      gzip_min_lenth 1k;

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

      gzip_buffers 4 16k;

      http協(xié)議版本號(hào)(不對(duì)應(yīng)的話(huà)是不支持壓縮的)

      gzip_http_version 1.1;

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

         gzip_vary on;

      日志格式

      log_format main

      客戶(hù)端IP 客戶(hù)端用戶(hù)名 請(qǐng)求URL

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

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

      ‘$status $body_bytes_sent “$http_referer” ‘

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

      ‘”$http_user_agent” “$http_x_forwarded_for”‘;

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

      access_log off

      access_log logs/access.log main;

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

      keepalive_timeout 65;

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

      server_names_hash_bucket_size 512;

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

      每一個(gè)請(qǐng)求進(jìn)來(lái)由server_name確定使用哪個(gè)server

      server {

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

      listen        8800;

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

      server_name localhost;

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

      charset utf-8;

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

      location / {

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

      root html;

      默認(rèn)主頁(yè)

      index index.html;

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

      proxy_pass http://10.11.12.237:8080;

      拒絕請(qǐng)求,返回403,一般用于某些目錄禁止訪(fǎng)問(wèn)

      #deny all;

      允許請(qǐng)求

      #allow all;

      給請(qǐng)求頭中添加客戶(hù)請(qǐng)求主機(jī)名

      proxy_set_header Host $host;

      給請(qǐng)求頭中添加客戶(hù)端IP

      proxy_set_header X-Real-IP $remote_addr;

      將$remote_addr變量值添加在客戶(hù)端”X-Forwarded-For”請(qǐng)求頭的后面,并以逗號(hào)分隔。 

      如果客戶(hù)端請(qǐng)求未攜帶”X-Forwarded-For”請(qǐng)求頭,$proxy_add_x_forwarded_for變量值將與$remote_addr變量相同

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      給請(qǐng)求頭中添加客戶(hù)端的Cookie

      proxy_set_header Cookie $http_cookie;

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

      proxy_redirect [ default | off | redirect replacement ]

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

      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字段重寫(xiě)為 http://frontend/one/some/uri/。

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

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

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

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

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

      前端的頁(yè)面依然停留在 A 域名上,于是瀏覽器就無(wú)法將 Cookie 寫(xiě)入。

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

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

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

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

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

      配置規(guī)則。

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

      proxy_cookie_domain localhost .testcaigou800.com;

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

      proxy_cookie_domain off;

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

      proxy_connect_timeout 30;

      }

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

      error_page 404 /404.html;

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

      error_page  500 502 503 504 /50x.html;

        location = /50x.html {

        root html;

      }

      }

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

        但要注意server過(guò)多需要手動(dòng)擴(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號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)