windows下nginx安裝、配置與使用_nginx

來源:互聯網
上載者:User

  目前國內各大門戶網站已經部署了Nginx,如新浪、網易、騰訊等;國內幾個重要的視頻分享網站也部署了Nginx,如六房間、酷6等。新近發現Nginx 技術在國內日趨火熱,越來越多的網站開始部署Nginx。

    相比apeach、iis,nginx以輕量級、高效能、穩定、配置簡單、資源佔用少等優勢廣受歡迎。

1)下載地址:

  http://nginx.org

2)啟動

  解壓至c:\nginx,運行nginx.exe(即nginx -c conf\nginx.conf),預設使用80連接埠,日誌見檔案夾C:\nginx\logs

3)使用

  http://localhost

4)關閉

  nginx -s stop 或taskkill /F /IM nginx.exe > nul

5)常用配置

   C:\nginx\conf\nginx.conf,使用自己定義的conf檔案如my.conf,命令為nginx -c conf\my.conf

  常用配置如下:

複製代碼 代碼如下:
Nginx.conf代碼
http {
 server {
 #1.偵聽80連接埠
 listen 80;
 location / {
 # 2. 預設首頁目錄在nginx安裝目錄的html子目錄。
 root html;
 index index.html index.htm;
 # 3. 沒有索引頁時,羅列檔案和子目錄
 autoindex on;
 autoindex_exact_size on;
 autoindex_localtime on;
 }
 # 4.指定虛擬目錄
 location /tshirt {
 alias D:\programs\Apache2\htdocs\tshirt;
 index index.html index.htm;
 }
 }
 # 5.虛擬機器主機www.emb.info配置
 server {
 listen 80;
 server_name www.emb.info;
 access_log emb.info/logs/access.log;
 location / {
 index index.html;
 root emb.info/htdocs;
 }
 }
}

  
  小提示:
  運行nginx -V可以查看該Win32平台編譯版支援哪些模組。我這裡的結果為:
  Log代碼

複製代碼 代碼如下:
nginx version: nginx/0.7.65
TLS SNI support enabled
configure arguments:
--builddir=objs.msvc8
--crossbuild=win32
--with-debug --prefix=
--conf-path=conf/nginx.conf
--pid-path=logs/nginx.pid
--http-log-path=logs/access.log
--error-log-path=logs/error.log
--sbin-path=nginx.exe
--http-client-body-temp-path=temp/client_body_temp
--http-proxy-temp-path=temp/proxy_temp
--http-fastcgi-temp-path=temp/fastcgi_temp
--with-cc-opt=-DFD_SETSIZE=1024
--with-pcre=objs.msvc8/lib/pcre-7.9
--with-openssl=objs.msvc8/lib/openssl-0.9.8k
--with-openssl-opt=enable-tlsext
--with-zlib=objs.msvc8/lib/zlib-1.2.3
--with-select_module
--with-http_ssl_module
--with-http_realip_module
--with-http_addition_module
--with-http_sub_module
--with-http_dav_module
--with-http_stub_status_module
--with-http_flv_module
--with-http_gzip_static_module
--with-http_random_index_module
--with-http_secure_link_module
--with-mail
--with-mail_ssl_module
--with-ipv6

  顯然,最經常用的memcache, rewrite模組都沒在其中,因此該win32編譯版本僅能供基本開發測試使用,對於產品平台,應該重新編譯自己想要的win32版本,或者在linux下使用更方便。

6)查看nginx進程

  tasklist /fi "imagename eq nginx.exe",如下顯示:
映像名稱                       PID 會話名              會話#       記憶體使用量
========================= ======== ================ =========== ============
nginx.exe                     8944 Console                    1      5,128 K
nginx.exe                     6712 Console                    1      5,556 K

7)nginx常用命令

nginx -s stop 強制關閉
nginx -s quit 安全關閉
nginx -s reload 改變更配置置檔案的時候,重啟nginx背景工作處理序,來時設定檔生效
nginx -s reopen 開啟記錄檔

8)其它

  可以通過設定檔開啟多個nginx背景工作處理序,但同時只有其中一個nginx背景工作處理序在工作,其他的阻塞等待。
  一個nginx背景工作處理序最多同時可以處理1024個串連。
  nginx中需要共用記憶體的cache或者模組無法在windows下正常使用。
  不過,nginx官方正在改進,將來nginx會以服務的方式運行,使用 I/O completion ports代替select方法,使多個背景工作處理序能並發工作。
  要使用nginx配合php-cgi使用,需要修改環境變數,否則,php-cgi運行一定次數就推出,需要重啟,設定PHP_FCGI_MAX_REQUESTS這個變數為0即可。

  以上在win7上通過。

 8)nginx以windows服務形式啟動

  1.下載微軟兩個工具:

    instsrv.exe srvay.exe

  2.執行命令:

    instsrv Nginxc:/nginx/srvany.exe

  3.配置Nginx的運行參數

  可以直接將配置匯入到註冊表

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NGINX/Parameters]
"Application"="C://nginx//nginx.exe"
"AppParameters"=""
"AppDirectory"="C://nginx//"

  注意:windows 下的Nginx 內建的module 很多沒有,用Nginx -V 命令查看。

9)Nginx下部署mono+asp.net環境

  1、從Mono for Windows中提取FastCGI-Mono-Server

  2、Nginx nginx.conf 的配置:

複製代碼 代碼如下:
worker_processes  1;
error_log  logs/error-debug.log info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type   text/plain;
    sendfile        on;

    keepalive_timeout  65;
    index  index.html index.htm;

    server {
        listen       80;
        server_name yourdomain.com;
        index index.aspx default.aspx;

        location / {
          root   D:\www/yourwebapp;

          fastcgi_pass   127.0.0.1:8000;
          fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
          include       fastcgi_params;
       }
    }
}

   將上面的 FastCGI-Mono-Server 提取出來,所有檔案全部註冊到 GAC(否則 Web 應用程式會找不到他們,當然你也可以直接放到 webapp/bin),然後解壓到某個檔案夾,這裡假設為 D:/FastCGI-Mono-Server。

  之後我們就可以按下列命令運行 FastCGI:
  fastcgi-mono-server2 /socket=tcp:127.0.0.1:8000 /root="D:\www\yourwebapp" /applications=yourdomain.com:/:. /multiplex=True

  最後執行運行 Nginx 伺服器,我們的 ASP.Net 程式就能脫離 IIS。

以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.