<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Nginx完全教程(必讀)

          Nginx完全教程(必讀)

          作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          --with-sha1-opt=OPTIONS - Set additional options for sha1 building.

          --with-sha1-asm - Use sha1 assembler sources.

          --with-zlib=DIR - Set path to zlib library sources.

          --with-zlib-opt=OPTIONS - Set additional options for zlib building.

          --with-zlib-asm=CPU - Use zlib assembler sources optimized for specified CPU, valid values are: pentium, pentiumpro

          --with-openssl=DIR - Set path to OpenSSL library sources

          --with-openssl-opt=OPTIONS - Set additional options for OpenSSL building

          --with-debug - 啟用調(diào)試日志

          --add-module=PATH - Add in a third-party module found in directory PATH

          在不同版本間,選項可能會有些許變化,請總是使用 ./configure --help 命令來檢查一下當前的選項列表。

          示例 (最好能在同一行):

          ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=../pcre-4.4 --with-zlib=../zlib-1.1.3

          Ubuntu/debian 上的示例,需要預(yù)先安裝 libgcrypt11-dev, libpcre3-dev 和 libssl-dev (選擇 --with-md5 或 --with-sha1 中的一個, 但不能都選; 在 debian 和 ubuntu 上, 它們應(yīng)該都指向 /usr/lib)

          ./configure --with-openssl=/usr/lib/ssl/ --with-md5=/usr/lib

          Ubuntu Edgy 的一個 0.5.2 版本的 .deb 包可以在這里下載: nginx_0.5.2-1_i386.deb.

          (注: 根據(jù) October 2006 message 的消息,md5 在一個現(xiàn)在不再使用的 http 緩存模塊中用到,而 sha1 用在一個未完成的 mysql 庫模塊,所以它們當前都不是必須的)

          運行和控制 Nginx - 命令行參數(shù)和信號

          不像許多其他軟件系統(tǒng),Nginx 僅有數(shù)個命令行參數(shù),完全通過配置文件來配置(想象一下)。

          · 選項

          · 示例

          · 使用信號加載新的配置

          · 平滑升級到新的二進制代碼

          選項

          -c /path/to/config> 為 Nginx 指定一個配置文件,來代替缺省的。

          -t 不運行,而僅僅測試配置文件。nginx 將檢查配置文件的語法的正確性,并嘗試打開配置文件中所引用到的文件。

          -v 顯示 nginx 的版本。

          -V 顯示 nginx 的版本,編譯器版本和配置參數(shù)。

          示例

          /usr/bin/nginx -t -c ~/mynginx.conf

          通過系統(tǒng)的信號控制 Nginx

          可以使用信號系統(tǒng)來控制主進程。默認,nginx 將其主進程的 pid 寫入到 /usr/local/nginx/logs/nginx.pid 文件中。通過傳遞參數(shù)給 ./configure 或使用 pid 指令,來改變該文件的位置。

          主進程可以處理以下的信號:

          TERM, INT

          快速關(guān)閉

          QUIT

          從容關(guān)閉

          HUP

          重載配置

          用新的配置開始新的工作進程

          從容關(guān)閉舊的工作進程

          USR1

          重新打開日志文件

          USR2

          平滑升級可執(zhí)行程序。

          WINCH

          從容關(guān)閉工作進程

          盡管你不必自己操作工作進程,但是,它們也支持一些信號:

          TERM, INT

          快速關(guān)閉

          QUIT

          從容關(guān)閉

          USR1

          重新打開日志文件

          使用信號加載新的配置

          Nginx 支持幾個信號,能在它運行時控制其操作。其中最普通的是 15 ,用來中止運行的進程:

          # ps aux | egrep '(PID|nginx)'USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 2213 0.0 0.0 6784 2036 ? Ss 03:01 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

          # kill -15 2213

          而最有趣的是能平滑改變 nginx 配置的選項(請注意,在重載前,要先測試一下配置文件):

          # nginx -t -c /etc/nginx/nginx.conf2006/09/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf syntax is ok2006/09/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf was tested successfully

          # ps aux | egrep '(PID|nginx)'

          USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

          root 2213 0.0 0.0 6784 2036 ? Ss 03:01 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf

          # kill -HUP 2213

          當 nginx 接收到 HUP 信號,它會嘗試先解析配置文件(如果指定配置文件,就使用指定的,否則使用默認的),成功的話,就應(yīng)用新的配置文件(例如:重新打開日志文件或監(jiān)聽的套接 字)。之后,nginx 運行新的工作進程并從容關(guān)閉舊的工作進程。通知工作進程關(guān)閉監(jiān)聽套接字但是繼續(xù)為當前連接的客戶提供服務(wù)。所有客戶端的服務(wù)完成后,舊的工作進程被關(guān)閉。 如果新的配置文件應(yīng)用失敗,nginx 將繼續(xù)使用舊的配置進行工作。

          平滑升級到新的二進制代碼

          你可以在不中斷服務(wù)的情況下 - 新的請求也不會丟失,使用新的 nginx 可執(zhí)行程序替換舊的(當升級新版本或添加/刪除服務(wù)器模塊時)。

          首先,使用新的可執(zhí)行程序替換舊的(最好做好備份),然后,發(fā)送 USR2 (kill -USR2 pid)信號給主進程。主進程將重命名它的 .pid 文件為 .oldbin (比如:/usr/local/nginx/logs/nginx.pid.oldbin),然后執(zhí)行新的可執(zhí)行程序,依次啟動新的主進程和新的工作進程:

          PID PPID USER %CPU VSZ WCHAN COMMAND33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sbin/nginx33134 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)

          33135 33126 nobody 0.0 1380 kqread nginx: worker process (nginx)

          33136 33126 nobody 0.0 1368 kqread nginx: worker process (nginx)

          36264 33126 root 0.0 1148 pause nginx: master process /usr/local/nginx/sbin/nginx

          36265 36264 nobody 0.0 1364 kqread nginx: worker process (nginx)



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();