tasklist /fi "imagename eq nginx.exe",如下显示:
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================ =========== ============
nginx.exe 8944 Console1 5,128 K
nginx.exe 6712 Console1 5,556 K
2)nginx常用命令
nginx -s stop 强制关闭
nginx -s quit 安全关闭
nginx -s reload 改变配置文件的时候,重启nginx工作进程,来时配置文件生效
nginx -s reopen 打开日志文件
3)其它
可以通过配置文件开启多个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
sendfileon
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。
从nginx官网下载相应的安装包建议下载 下载稳定版
解压到相应的目录,比如我是e盘 然后修改目录名字为nginx
进入nginx目录 双击nginx.exe 来启动nginx
此时 直接在浏览器地址栏输入:localhost 便能看到 欢迎页面,说明你虚拟主机已经搭建好了
但是有时候 我们需要配置路径 在默认情况下 他的root是 nginx目录下的html文件夹
如若修改 则打开conf目录下的nginx.conf
找到server 选项 修改咯location 中的root 选项。
比如我修改到D:/webroot
则修改为
在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目录下文件不存在,自动转到另一个服务器去取),用IIS发现很难做到这点,于是决定搭建nginx的开发环境,通过配置实现这一点。 首先,google nginx和php,分别到他们的官网把最新版本的下载回来,我当时下的PHP是5.4.3的版本,nginx是1.5.2,我把他们都放在D盘下一个叫webserver的文件夹里,然后开始做配置了。 nginx的启动很简单,进入它的目录,然后双击nginx.exe,如果没有端口冲突等问题的话,直接在浏览器输入localhost就可以访问welcome to nginx字样的网页了,这是默认的欢迎页面,放在自带的默认网页文件目录html下的。难道就这么简单吗?当然不是的。 这时如果你在html目录下建一个php文件,写上一句测试php环境的最经典的,然后在浏览器输入这个php文件的路径进行访问,你会发现nginx根本不懂怎样去解析php代码,这是因为nginx与PHP还没有配合起来。按道理来说,当遇到php文件的时候,nginx应该把它交给php的fast-cgi来处理,然后把处理完的结果返回给客户端(浏览器)的。 怎样告诉nginx当遇到php文件时交给谁处理呢?打开nginx1.5.2的文件夹,找到conf目录,编辑目录下的nginx.conf文件,我的编辑结果如下所示,具体配置过程中需要注意什么请看注释: server { listen 80 server_name localhost charset utf-8 location / { root E:/work/jentian/client//html文件目录,由于我们项目的客户端代码与服务端服务是严格分开的,所以这里的root跟php的root不同 index index.html index.htm } location ~ .php { root E:/work/jentian/server//php文件目录 fastcgi_param SCRIPT_FILENAME E:/work/jentian/server$fastcgi_script_name//注意,$fastcgi_script_name前面的路径必须与root是一致的 fastcgi_index index.php fastcgi_pass 127.0.0.1:9000 include fastcgi_params } } nginx的配置也就这么多了,很简单吧,但这时候当你刷新php页面的时候,会发现nginx现在还是没有办法解析php文件,原因在于php的fast-cgi还没有启动,如果打开一个普通的命令提示符窗口,然后输入命令启动fast-cgi时,启动后这个窗口是不能关闭的,否则fast-cgi的进程也会终止,不能继续解析php文件了,后来查了一下,原来windows是有一个运行隐形控制台的方法的,用这个方法启动fast-cgi,就不怕关闭控制台后fast-cgi也跟着结束的问题的。最后,写了一个批处理文件来启动fast-cgi和nginx,这能就能一键启动nginx+php的环境了。下面是这个批处理文件的内容: @echo off set PHP_FCGI_MAX_REQUESTS = 1000 echo Starting PHP FastCGI... rem 下面这里的分别替换成你的php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意前后空格 RunHiddenConsole D:/webServer/php-5.4.3/php-cgi.exe -b 127.0.0.1:9000 -c D:/webServer/php-5.4.3/php.ini //这里 echo Starting nginx... rem 注意替换成你的nginx目录 D:/webServer/nginx-1.5.2/nginx.exe -p D:/webServer/nginx-1.5.2/ cd D:/webServer/nginx-1.5.2/ pause 把这个批处理文件保存到好,双击,就能启动你的nginx+php环境了,这时再刷新一下你的phpinfo页面,一切正常了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)