Nginx(三)

  1. nginx平滑升級
  2. 平滑升級過程
    # 進入nginx的sbin目錄查看nginx的版本
    ./nginx -v
    # 下載解壓要升級到的版本,而後查看安裝環境,再make編譯
    ./configure
    make
    # 對老版本的nginx的可執行文件進行備份(nginx.old)
    cd /usr/local/nginx/sbin
    cp nginx nginx.old
    # 進入新版本的nginx目錄,而後將nginx可執行文件複製過去
    cp -rfp objs/nginx /usr/local/nginx/sbin/
    # 刪除新版本的壓縮包和解壓包

 

  • nginx配置文件總覽
  1. 進入配置文件目錄
    # 進入目錄
    cd /usr/local/nginx/conf
    # 查看配置文件
    vi nginx.conf
  2. 配置文件詳解
    ########### 每一個指令必須有分號結束。#################
    #配置用戶或者組,默認爲nobody nobody
    #user administrator administrators;
    #容許生成的進程數,默認爲1(CPU覈實)
    #worker_processes 2;
    #指定nginx進程運行文件存放地址
    #pid /nginx/pid/nginx.pid;
    #制定日誌路徑,級別。這個設置能夠放入全局塊,http塊,server塊,級別依次爲:debug|info|notice|warn|error|crit|alert|emerg
    error_log log/error.log debug;
    events {
        #設置網路鏈接序列化,防止驚羣現象發生,默認爲on
        accept_mutex on; 
        #設置一個進程是否同時接受多個網絡鏈接,默認爲off
        multi_accept on; 
        #事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
        #use epoll;
        #最大鏈接數
        worker_connections  1024;
    }
    http {
        #文件擴展名與文件類型映射表
        include       mime.types;
        #默認文件類型,默認爲text/plain
        default_type  application/octet-stream;
        #取消服務日誌
        #access_log off;
        #自定義格式
        log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
        #combined爲日誌格式的默認值
        access_log log/access.log myFormat;
        #容許sendfile方式傳輸文件,默認爲off,能夠在http塊,server塊,location塊。
        sendfile on;
        #每一個進程每次調用傳輸數量不能大於設定的值,默認爲0,即不設上限。
        sendfile_max_chunk 100k;
        #鏈接超時時間,默認爲75s,能夠在http,server,location塊。
        keepalive_timeout 65; 
        upstream mysvr {   
          server 127.0.0.1:7878;
          server 192.168.10.121:3333 backup;  #熱備
        }
        #錯誤頁
        error_page 404 https://www.baidu.com;
        server {
            keepalive_requests 120; #單鏈接請求上限次數。
            listen       4545;   #監聽端口
            server_name  127.0.0.1;   #監聽地址
            #請求的url過濾,正則匹配,~爲區分大小寫,~*爲不區分大小寫。 
            location  ~*^.+$ {
               #root path;  #根目錄
               #index vv.txt;  #設置默認頁
               #請求轉向mysvr 定義的服務器列表      
               proxy_pass  http://mysvr; 
               deny 127.0.0.1;  #拒絕的ip
               allow 172.18.5.54; #容許的ip           
            }
        }
    }
  3. 一般狀況下,爲了使每一個服務器能夠供更多用戶使用,能夠將一個服務器分爲不少虛擬的子服務器,每一個子服務器都是互相獨立的。這些服務器是根據虛擬化技術分出來的,這樣,一臺服務器就能夠虛擬成不少臺子服務器。咱們把子服務器叫作虛擬主機。咱們搭建好Nginx服務器以後,此時只有一臺Nginx服務器,這時若是咱們對這臺服務器進行虛擬主機配置,就能夠將一臺Nginx服務器分割爲多臺獨立的子服務器。Nginx中配置虛擬主機的步驟主要有兩個,第一步是配置IP地址,第二步是綁定IP地址與虛擬主機。
  4. 配置IP地址
    # 查看ip地址信息
    ifconfig
    # 手動配置ip地址(不要修改ip地址,否則連不上,直接使用分配的IP地址)
    ifconfig ens33(eth0)192.168.1.9(1-59) netmask 255.255.255.0
    # 虛擬主機ip地址配置(broadcast、netmask要和主IP地址相同)
    ifconfig ens33:1 192.168.1.7 broadcast 192.168.1.255 netmask 255.255.255.0
    # 查看是否配置好
    ifconfig
    # 再次配置一個虛擬主機ip地址(修改兩處)
    ifconfig ens33:2 192.168.1.17 broadcast 192.168.1.255 netmask 255.255.255.0
  5. 配置虛擬主機
    # 在nginx存放配置文件的目錄下新建一個虛擬主機文件(/usr/local/nginx/conf)
    touch xunizhuji.conf
    # 在xunizhuji.conf寫入配置
    user nobody;
    worker_processes 1;
    events{
        worker_connections 1024;
    }
    http{
        server{
            listen 192.168.1.7:80;
            server_name 192.168.1.7;
            access_log logs/server1.access.log combined;
            location /
            {
            # /usr/local/nginx/html/server1目錄下
            index index.html index.htm;
            # root是指/usr/local/nginx目錄;server1目錄存放源文件
            root html/server1;
            }
            }
        server{
            listen 192.168.1.17:80;
            server_name 192.168.1.17;
            access_log logs/server1.access.log combined;
            location /
            {
             index index.html index.htm;
             root html/server2;
            }
            }
    }
    # 在目錄/usr/local/nginx/html下新建
    mkdir server1
    cd server1
    # 建立首頁
    touch index.html
    mkdir server2
    cd server2
    touch index.html
相關文章
相關標籤/搜索