admin 管理员组

文章数量: 887039


2024年1月17日发(作者:sublimetext中文官网)

windows下nginx安装、配置与使用

1)下载地址:

从nginx官网下载相应的安装包

2)启动

解压至c:nginx,运行(即nginx -c ),默认使用80端口,日志见文件夹C:nginxlogs

3)使用

localhost

4)关闭

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

5)常用配置

C:,使用自己定义的conf文件如,命令为nginx -c

常用配置如下:

代码

http {

server {

#1.侦听80端口

listen 80;

location / {

# 2. 默认主页目录在nginx安装目录的html子目录。

root html;

index ;

# 3. 没有索引页时,罗列文件和子目录

autoindex on;

autoindex_exact_size on;

autoindex_localtime on;

}

# 4.指定虚拟目录

location /tshirt {

alias D:programsApache2htdocstshirt;

index ;

}

}

# 5.虚拟主机配置

server {

listen 80;

server_name ;

access_log /logs/;

location / {

index ;

root /htdocs;

}

}

}

http {

server {

#1.侦听80端口

listen 80;

location / {

# 2. 默认主页目录在nginx安装目录的html子目录。

root html;

index ;

# 3. 没有索引页时,罗列文件和子目录

autoindex on;

autoindex_exact_size on;

autoindex_localtime on;

}

# 4.指定虚拟目录

location /tshirt {

alias D:programsApache2htdocstshirt;

index ;

}

}

# 5.虚拟主机配置

server {

listen 80;

server_name ;

access_log /logs/;

location / {

index ;

root /htdocs;

}

}

}

小提示:

运行nginx -V可以查看该Win32平台编译版支持哪些模块。我这里的结果为:

Log代码

nginx version: nginx/0.7.65

TLS SNI support enabled

configure arguments:

--builddir=8

--crossbuild=win32

--with-debug --prefix=

--conf-path=conf/

--pid-path=logs/

--http-log-path=logs/

--error-log-path=logs/

--sbin-path=

--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=8/lib/pcre-7.9

--with-openssl=8/lib/openssl-0.9.8k

--with-openssl-opt=enable-tlsext

--with-zlib=8/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=8

--crossbuild=win32

--with-debug --prefix=

--conf-path=conf/

--pid-path=logs/

--http-log-path=logs/

--error-log-path=logs/

--sbin-path=

--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=8/lib/pcre-7.9

--with-openssl=8/lib/openssl-0.9.8k

--with-openssl-opt=enable-tlsext

--with-zlib=8/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 ",如下显示:

映像名称 PID 会话名 会话# 内存使用

========================= ========

================ =========== ============

8944 Console 1 5,128 K

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.下载微软两个工具:

2.执行命令:

instsrv Nginxc:/nginx/

3.配置Nginx的运行参数

可以直接将配置导入到注册表

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NGINX/Parameters]

"Application"="C://nginx//"

"AppParameters"=""

"AppDirectory"="C://nginx//"

注意:windows 下的Nginx 内置的module 很多没有,用Nginx -V 命令查看。

9)Nginx下部署mono+环境

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

2、Nginx 的配置:

worker_processes 1;

error_log logs/ info;

events {

worker_connections 1024;

}

http {

include ;

default_type text/plain;

sendfile on;

keepalive_timeout 65;

index ;

server {

listen 80;

server_name ;

index ;

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:wwwyourwebapp" /applications=:/:.

/multiplex=True

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


本文标签: 使用 工作 运行 文件