nginx的基本使用和反向代理,地址重寫問題

nginx相關(guān)操作

站在用戶的角度思考問題,與客戶深入溝通,找到巧家網(wǎng)站設(shè)計與巧家網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名申請、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋巧家地區(qū)。

 Windows下操作:
        1、啟動:

        C:\server\nginx-1.14.2>start nginx
        或

        C:\server\nginx-1.14.2>nginx.exe

        注:建議使用第一種,第二種會使你的cmd窗口一直處于執(zhí)行中,不能進行其他命令操作。

        2、停止:

        C:\server\nginx-1.14.2>nginx.exe -s stop``

        或

        C:\server\nginx-1.14.2>nginx.exe -s quit

        注:stop是快速停止nginx,可能并不保存相關(guān)信息;quit是完整有序的停止nginx,并保存相關(guān)信息。

        3、重新載入Nginx:

        C:\server\nginx-1.14.2>nginx.exe -s reload

        當(dāng)配置信息修改,需要重新載入這些配置時使用此命令。

        4、重新打開日志文件:

        C:\server\nginx-1.14.2>nginx.exe -s reopen

        5、查看Nginx版本:

        C:\server\nginx-1.14.2>nginx -v

nginx反向代理路徑問題

    http://abc.com:8080 寫法和 http://abc.com:8080/ 寫法的區(qū)別如下:

    不帶/
    location /NginxTest/ {
                proxy_pass  http://abc.com:8080;
    }

    帶/
    location /NginxTest/ {
                proxy_pass  http://abc.com:8080/;
    }
    上面兩種配置,區(qū)別只在于proxy_pass轉(zhuǎn)發(fā)的路徑后是否帶 “/”。
    針對情況1:
            (帶參數(shù))如果訪問url =http://localhost:90/NginxTest/servlet/MyServlet?name=123333333,則被nginx代理后,請求路徑便會訪問http://abc.com:8080/NginxTest/servlet/MyServlet?name=123333333。
           (不帶參數(shù))如果訪問url =http://localhost:90/NginxTest/servlet/MyServlet,則被nginx代理后,請求路徑便會訪問http://abc.com:8080/NginxTest/servlet/MyServlet。

    針對情況2:
              如果訪問url = http://server/NginxTest/test.jsp,則被nginx代理后,請求路徑會變?yōu)?http://proxy_pass/test.jsp,直接訪問server的根資源。
              訪問http://localhost:90/NginxTest/NginxTest/NginxTest/servlet/MyServlet,被nginx代理后,請求路徑才會訪問http://abc.com:8080/NginxTest/servlet/MyServlet。
    **注意:上面兩種訪問路徑的差別。
    修改配置后重啟nginx代理就成功了。**

nginx地址重寫

    location /NginxTest/ {
        rewrite  ^/NginxTest/(.*)$  /$1  break;
        proxy_pass  http://abc.com:8080;
    }

    1. ^~/NginxTest/ 是一個匹配規(guī)則,用于攔截請求,匹配任何以 /NginxTest/ 開頭的地址,匹配符合以后就停止往下搜索正則。
    2.rewrite  ^/NginxTest/(.*)$  /$1  break;
    代表重寫攔截進來的請求,并且只能對域名后邊的除去傳遞的參數(shù)外的字符串起作用,例如http://localhost:90/NginxTest/NginxTest/servlet/MyServlet?name=lovleovlove重寫,只對/NginxTest/NginxTest/servlet/MyServlet重寫。
    例如訪問地址:http://localhost:90/NginxTest/NginxTest/servlet/MyServlet?name=lovleovlove,實際訪問的地址(重寫地址)為http://ita-1312-0059.synacast.local:8080/NginxTest/servlet/MyServlet?name=lovleovlove
    例如訪問地址:http://localhost:90/NginxTest/NginxTest/servlet/MyServlet,實際訪問的地址(重寫地址)為http://ita-1312-0059.synacast.local:8080/NginxTest/servlet/MyServlet

    3.rewrite后面的參數(shù)是一個簡單的正則^/NginxTest/(.*)$  /$1 ,$1代表正則中的第一個(),$2代表第二個()的值,以此類推。break代表匹配一個之后停止匹配。
    rewrite的語法:
    rewrite regex URL [flag];
    rewrite是關(guān)鍵字,regex是正則表達式,URL是要替代的內(nèi)容,[flag]是標(biāo)記位的意思,它有以下幾種值:
    last: 相當(dāng)于Apache的[L]標(biāo)記,表示完成rewrite
    break: 停止執(zhí)行當(dāng)前虛擬主機的后續(xù)rewrite指令集
    redirect: 返回302臨時重定向,地址欄會顯示跳轉(zhuǎn)后的地址
    permanent: 返回301永久重定向,地址欄會顯示跳轉(zhuǎn)后的地址

分享文章:nginx的基本使用和反向代理,地址重寫問題
網(wǎng)站地址:http://muchs.cn/article46/gdighg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站移動網(wǎng)站建設(shè)、建站公司用戶體驗、外貿(mào)建站、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站