windows下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://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。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • windows下nginx的安装使用及解决80端口被占用nginx不能启动的问题

    目前nginx已被广泛使用,今天我们首先来讲讲nginx在Windows下的搭建. 1.安装 到nginx官网下载一个Windows下使用的最新版本,目前是1.11.10,如图: 下载下来解压缩就可以. 2.运行 运行nginx,报错: [emerg] 10348#10940: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access pe

  • windows下安装nginx的方法(图文)

    1.到nginx官网上下载相应的安装包,http://nginx.org/en/download.html:下载进行解压,将解压后的文件放到自己心仪的目录下,我的解压文件放在了D:\dev\目录下,如下图所示: 2.进入window的cmd窗口,输入如下图所示的命令,进入到nginx目录,使用"start nginx.exe "进行nginx的安装,如下图所示: 3.安装成功后,在"任务管理器"中会看到"nginx.exe"进程,如下图所示: 4

  • windows7下安装PHP+nginx的方法

    本文讲述了windows7下安装PHP+nginx的方法.分享给大家供大家参考,具体如下: 首先是安装PHP 我本地原来安装过了PHP5.2.11了.没安装过的也类似,官方网站下载一个Windows的二进制包就行了. 直接运行PHP5.2.11安装文件,然后选择修改,下一步 ,选择Other CGI,出现选择安装的扩展, 我选择了GD2.Mysql.Mysqli.PDO.PDO_MYSQL.下一步,安装,安装完成. 然后以FastCGI方式运行PHP 由于php自带php-cgi.exe,在命令

  • Nginx服务器中配置非80端口的端口转发方法详解

    nginx可以很方便的配置成反向代理服务器: server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy

  • 利用Nginx反向代理功能解决WEB网站80端口被封的解决方法

    大陆的网络环境,都在天朝神兽的制度下让我等小P民悲剧一片:动不动就拔网线.封机房:现在更厉害的一招,从网关封杀你的80端口,一旦被封,网站域名就无法访问: 以上便废话,下面转入正题,其它就不帖了,直接给代码,利用nginx的反向代理功能,一般大家都很看懂,也不多记录了: [code] server { listen 80; server_name a.jb51.net; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOT

  • Windows下Nginx+PHP5的安装与配置方法

    以下是我在 Windows 2003 安装中 Nginx 和 PHP5.2 的步骤,但windows版本的nginx性能要比Linux/Uninx版本的Nginx差太多. 安装 PHP5首先,从 http://www.php.net/downloads.php 下 载最新的 PHP5.2.9-2 Windows 版本,解压至 C:\php,把压缩包中的 php.ini-recommended,更名为 php.ini,然后打开修改几个选项: error_reporting = E_ALLdispl

  • 在Linux和Windows系统上安装Nginx服务器的教程

    1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RPM 包版本较低.如果需要更新版本,可以使用官方制作的 rpm 包,或者使用源码包编译安装. 还可以使用一些二次开发功能增强的 nginx 版本,例如淘宝的 Tengine 和 OpenResty 都是不错的选择. 1.1 常用编译参数 --prefix=PATH:指定 nginx 的安装目录     --conf-path=PATH:指定 nginx.conf

  • windows安装nginx部署步骤图解(反向代理与负载均衡)

    一.下载安装Nginx(本文环境为windows xp 32bit环境) 解压nginx-1.0.11.zip,进入nginx-1.0.11,在命令行中执行命令让Nginx启动.具体操作如下图: 测试是否安装成功,输入地址:http://localhost:8090 浏览器显示结果如下图: OK,Nginx部署成功了. 二.关于Nginx的反向代理配置. 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器

  • nginx下的代理服务器80端口被封的解决方案

    方法如下: 首先得准备一台VPS,俺用的是国外的,,早上我已经将环境搞定了,于是迫不及待的测试了下--???啥?你吖环境都不知道配置??没关系.看哥的教程,用SSH连接上终端,挨个执行centos下的LNMP环境一键安装这篇文章里面的内容吧,好了.这下会了吧.其他的-.命令那些的看看Centos下一些基本要用到的命令,也就差不多了-..好了.这些都了解的差不多了吧- 然后,我们不是80被封了嘛.咱们给网站个81端口,我说的是IIS,那啥的nginx和apache我还真不知道如何给.总之要让网站能

  • Windows nginx安装教程及简单实践

    概述 安装与使用 安装 从源代码编译 Nginx         Windows 安装         使用     nginx 配置实战 http反向代理配置     负载均衡配置     网站有多个webapp的配置     https反向代理配置 参考 概述 什么是nginx? Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器. 什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受int

随机推荐