windows下安装以及配置nginx

http://jingyan.baidu.com/article/f3e34a12a9c1c3f5eb6535d4.html

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;
   }
   }
  }
  
  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
  
  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

最新文章

  1. 简单java在线测评程序
  2. 转载:C#保存文件时重名自动生成新文件的方法
  3. Maven创建多个子项目
  4. ABAP ALV 颜色设置(行,列,单元格)
  5. Oracle11g用户密码过期
  6. 用document.onreadystatechange和document.readyState确保文档加载完毕才获取DOM
  7. Score(规律)
  8. VC++注射过程
  9. UVA 10304 Optimal Binary Search Tree
  10. 非确定性计算引擎转化为C#版本并重构
  11. mpeg文件格式分析
  12. Dynamics 365 Online用户密码三问及其解答
  13. mysql编译好的简单安装
  14. 【洛谷P4144】大河的序列
  15. setInterval 传值设参数
  16. iis asp.net4.0注册
  17. MongoDB常用操作--简介
  18. 【每日一题】 UVA - 340 阅读理解+模拟
  19. LVS群集配置
  20. Android 限定符

热门文章

  1. JS中typeof与instanceof的区别 (2010-05-26 10:47:40
  2. PHP获取文件扩展名的多种方法
  3. java8新特性学习
  4. Hdu 1059 Dividing & Zoj 1149 & poj 1014 Dividing(多重背包)
  5. 8.2.1.4 Index Merge Optimization 索引合并优化:
  6. 【细说Java】Java的重写与隐藏
  7. 删除WIN7系统的共享文件
  8. Red Gate - SQL Source Control实现对SQL SERVER 的源代码控制
  9. [LeetCode] 237. Delete Node in a Linked List 解题思路
  10. Sublime Text 3配置记录