当前位置: 移动技术网 > 网络运营>服务器>nginx > windows下nginx安装、配置与使用

windows下nginx安装、配置与使用

2019年04月20日  | 移动技术网网络运营  | 我要评论

宏源生态园,熔炼奥金锭,拢香轩辕花祭

  目前国内各大门户网站已经部署了nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了nginx,如六房间、酷6等。新近发现nginx 技术在国内日趋火热,越来越多的网站开始部署nginx。

    相比apeach、iis,nginx以轻量级、高性能、稳定、配置简单、资源占用少等优势广受欢迎。

1)下载地址:

  

2)启动

  解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹c:\nginx\logs

3)使用

  

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.htm;
 # 3. 没有索引页时,罗列文件和子目录
 autoindex on;
 autoindex_exact_size on;
 autoindex_localtime on;
 }
 # 4.指定虚拟目录
 location /tshirt {
 alias d:\programs\apache2\htdocs\tshirt;
 index index.htm;
 }
 }
 # 5.虚拟主机配置
 server {
 listen 80;
 server_name ;
 access_log emb.info/logs/access.log;
 location / {
 index ;
 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.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。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网