<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Nginx系列:Nginx源碼安裝

          共 2792字,需瀏覽 6分鐘

           ·

          2020-08-16 11:35

          閱讀文本大概需要3分鐘。

          ? ? ? ?Nginx是使用C語(yǔ)言開發(fā)的,建議部署在Linux操作系統(tǒng)上,當(dāng)然也可以安裝在Windows操作系統(tǒng)安裝Windows版本的Nginx,本文演示在CentOS操作系統(tǒng)上安裝源碼安裝Nginx。


          0x01:安裝依賴庫(kù)

          以下命令均需root權(quán)限執(zhí)行

          • gcc 安裝

          源碼安裝 Nginx需要對(duì)在官網(wǎng)下載的Nginx源碼進(jìn)行編譯,編譯依賴 gcc 環(huán)境,如果沒有 gcc 環(huán)境,則需要先安裝

          yum?install?gcc?gcc-c++
          • PCRE pcre-devel 安裝

          PCRE(Perl Compatible Regular Expressions) 是一個(gè)Perl庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx 的 http 模塊使用 pcre 來解析正則表達(dá)式,所以需要在 linux 上安裝 pcre 庫(kù),pcre-devel 是使用 pcre 開發(fā)的一個(gè)二次開發(fā)庫(kù)。nginx也需要此庫(kù)。

          yum?install?-y?pcre?pcre-devel
          • zlib 安裝

          zlib 庫(kù)提供了很多種壓縮和解壓縮的方式, Nginx使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip ,所以需要在 CentOS上安裝 zlib 庫(kù)。

          yum?install?-y?zlib?zlib-devel
          • OpenSSL 安裝

          OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。Nginx不僅支持 http 協(xié)議,而且支持 https(即在ssl協(xié)議上傳輸http),所以需要在 CentOS安裝 OpenSSL 庫(kù)。

          yum?install?-y?openssl?openssl-devel

          以上安裝可以整合成一條命令

          yum?-y?install?gcc?gcc-c++?pcre?pcre-devel?\
          ?zlib?zlib-devel?openssl?openssl-devel


          0x02:創(chuàng)建Nginx用戶及Nginx用戶組

          先創(chuàng)建一個(gè)名為nginx且沒有登錄權(quán)限的用戶和一個(gè)名為nginx的用戶組

          • 創(chuàng)建Nginx用戶組

          創(chuàng)建`nginx`用戶組(`-r`選項(xiàng)表示創(chuàng)建一個(gè)系統(tǒng)用戶組)

          groupadd?-r?nginx

          創(chuàng)建用戶并加入到nginx系統(tǒng)用戶組

          • 創(chuàng)建Nginx用戶

          useradd?-r?-g?nginx?-s?/sbin/nologin?-d?/usr/local/nginx?-M?nginx

          -r: 添加系統(tǒng)用戶( 這里指將要被創(chuàng)建的系統(tǒng)用戶`nginx`)

          -g: 指定要?jiǎng)?chuàng)建的用戶所屬組( 這里指添加新系統(tǒng)用戶`nginx`到`nginx`系統(tǒng)用戶組 )

          -s: 新帳戶的登錄`shell`( `/sbin/nologin` 這里設(shè)置為將要被創(chuàng)建系統(tǒng)用戶`nginx`不能用來登錄系統(tǒng) )

          -d: 新帳戶的主目錄( 這里指定將要被創(chuàng)建的系統(tǒng)用戶`nginx`的家目錄為 `/usr/local/nginx` )

          -M: 不要?jiǎng)?chuàng)建用戶的主目錄( 也就是說將要被創(chuàng)建的系統(tǒng)用戶`nginx`不會(huì)在 `/home` 目錄下創(chuàng)建 `nginx` 家目錄 )


          0x03:源碼安裝Nginx

          • 下載Nginx

          wget?http://nginx.org/download/nginx-1.16.1.tar.gz
          • 解壓

          tar?-zxvf?nginx-1.16.1.tar.gz?-C?./nginx
          • 編譯安裝Nginx

          cd?./nginx/nginx-1.16.1/
          ./configure?--prefix=/usr/local/nginx?--user=nginx?--group=nginx?
          make
          make?install

          這樣就安裝成功了。安裝成功后,如何要查看Nginx內(nèi)置模塊或者查看自定義模塊

          查看Nginx內(nèi)置模塊

          cat?./auto/options?|?grep?YES

          查看自定義模塊

          目前還沒有添加第三方自定義模塊

          添加第三方模塊

          /usr/local/nginx/sbin/nginx?-V
          /root/nginx/nginx-1.16.1/configure?上條命令的configure?arguments值?\
          ???????--add-module=THIRD_MODULE_PATH

          實(shí)際上就是下載對(duì)應(yīng)版本的Nginx源碼包、解壓后,然后帶上之前的./configure參數(shù) + 第三方模塊重新編譯


          0x04:驗(yàn)證是否安裝成功

          一些常用的啟動(dòng)、關(guān)閉、加強(qiáng)配置命令

          cd?/usr/local/nginx/sbin/
          ./nginx? # 啟動(dòng)
          ./nginx?-s?stop #關(guān)閉
          ./nginx?-s?quit
          ./nginx?-s?reload #重新加載配置

          啟動(dòng)成功后訪問:http://127.0.0.1:8080

          ./nginx -s quit:此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止。
          ./nginx?-s?stop:此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程。


          0x05:生產(chǎn)環(huán)境一些非常有用的經(jīng)驗(yàn)

          • 先停止再啟動(dòng)(推薦)

          對(duì) nginx 進(jìn)行重啟相當(dāng)于先停止再啟動(dòng),即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令。

          ./nginx?-s?quit
          ./nginx
          • 修改nginx.conf后,重新加載配置文件

          當(dāng)nginx的配置文件nginx.conf修改后,要想讓配置生效需要重啟nginx,使用nginx -s reload不用先停止nginx,再啟動(dòng)nginx。即可將配置信息在 nginx中生效。

          ./nginx?-s?reload
          • 開機(jī)自啟動(dòng)Nginx

          在rc.local增加啟動(dòng)代碼就可以了

          vi?/etc/rc.local

          即增加一行?

          /usr/local/nginx/sbin/nginx

          設(shè)置rc.local文件執(zhí)行權(quán)限

          chmod?755?rc.local


          參考:
          https://www.cnblogs.com/liujuncm5/p/6713784.html
          https://segmentfault.com/a/1190000016498647



          往期精彩



          01?Sentinel如何進(jìn)行流量監(jiān)控

          02?Nacos源碼編譯

          03?基于Apache Curator框架的ZooKeeper使用詳解

          04?spring boot項(xiàng)目整合xxl-job

          05?互聯(lián)網(wǎng)支付系統(tǒng)整體架構(gòu)詳解

          關(guān)注我

          每天進(jìn)步一點(diǎn)點(diǎn)

          喜歡!在看?
          瀏覽 48
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产一级电影中文 | 日韩精品a∨中文在线播放 | www.色涩| 国产成人三级在线播放 | 影音先锋夜夜亚洲 |