售前咨询
技术支持
渠道合作

windows系统下nginx安装配置指南 nginx服务器配置 – Nginx

目前国内各大门户网站已经部署了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://trustauth.cn

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.trustauth.cn配置
server {
listen 80;
server_name www.trustauth.cn;
access_log trustauth.cn/logs/access.log;
location / {
index index.html;
root trustauth.cn/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.trustauth.cn配置
server {
listen 80;
server_name www.trustauth.cn;
access_log trustauth.cn/logs/access.log;
location / {
index index.html;
root trustauth.cn/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 的配置:

   将上面的 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=trustauth.cn:/:. /multiplex=True

最后执行运行 Nginx 服务器,我们的 ASP.Net 程序就能脱离 IIS。

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 trustauth.cn;
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;
}
}
}

上一篇:

下一篇:

相关新闻

 

领取优惠
免费预约

申请试用SSL证书

提交成功!

咨询客服