如何在windows上配置并运行Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在windows上配置并运行Nginx相关的知识,希望对你有一定的参考价值。
首先说说 nginx:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。云帆提供Flash端的SDK开发包,你可根据自己的需求开发成视频网站和视频播放器,使用云帆技术可以帮助你快速轻量级的实现视频网站和视频播放器,降低编解码技术和网络传输技术的开发成本。其中,便支持自搭建Nginx、apache服务。
那么该如何安装配置Nginx,让它服务于我们呢?相信有不少同学不清楚windows怎么安装配置nginx,以下一个一个步骤,详细地介绍下:
1、下载nginx稳定版
2、解压nginx.zip,将解压后的目录移动到指定要求目录,如c:\nginx
3、进到该目录去,nginx.exe是nginx启动程序,conf是nginx一些配置文件目录,其中nginx.conf是nginx主配置文件
4、编辑主配置文件nginx.conf
#表示注释
nginx配置文件里默认用相对路径,是相对nginx的根目录,如果采用上面那就是相对c:\nginx,也可以用绝对路径
nginx.conf
worker_processes 4; #设置跟cpu核数一样就行
events
worker_connections 10240;
http
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 15;
server_tokens off;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 4;
gzip_vary on;
gzip_types text/plain text/css text/xml application/x-javascript application/xml application/atom-xml text/javascript;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_body_buffer_size 128k;
server
listen 80; #监听端口
server_name demo.yunfancdn.com; #主机名
root C:/web/html; #网站根目录,这里要按照unix写法,不能这样写C:\Program Files
client_max_body_size 2M;
index index.html ;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
expires 15d;
location ~ .*\.(js|css)?$
expires 20m;
5、启动nginx
打开cmd,检查配置文件有没语法错误
输入c:\nginx\nginx.exe -t
nginx: the configuration file C:\nginx-1.8.0/conf/nginx.conf syntax is ok
nginx: configuration file C:\nginx-1.8.0/conf/nginx.conf test is successful
看到上面的ok和successful就没问题了。
然后双击nginx.exe就可以开启
检查nginx是否启动
更多操作像重新加载nginx ,cmd输入命令:nginx –s reload,想获取更多帮助,请在cmd里,输入nginx.exe -h 查看。
另外想获取更多nginx相关资料,请查看nginx官档http://nginx.org/
6、启动843端口
下载843程序
用ie打开http://demo.yunfancdn.com/Flash843_Windows.exe
下载到本地后直接执行Flash843_Windows.exe即可
注:后续会改善将该程序写入到系统服务中 参考技术A .NET Framework下载地址
WinSW-1.9-bin下载地址
把NGINX安装到C:\RUNTIME\nginx目录。平时的启动命令为:
C:\RUNTIME\nginx\nginx.exe
停止它有两种方法,一种是打开进程管理器,把所有的nginx进程都杀死,而且看着它们都被杀死为止才行。一种是用命令行:
C:\RUNTIME\nginx\nginx.exe -s stop
要自动启动,你可以把winsw-1.9-bin.exe复制到C:\RUNTIME\nginx目录,改名为NginxServer.exe。
创建一个新的文件NginxServer.xml,内容如下:
<service
<idnginx-1.0</id
<namenginx-1.0</name
<descriptionnginx-1.0</description
<executableC:\RUNTIME\nginx\nginx.exe</executable
<logpathC:\RUNTIME\nginx</logpath
<logmoderoll</logmode
<depend</depend
<startargument-p C:\RUNTIME\nginx</startargument
<stopargument-p C:\RUNTIME\nginx -s stop</stopargument
</service
保存后,执行命令:
NginxServer.exe install
如果成功,就会返回命令行光标,没有提示。如果有错误提示,请确认你的电脑正确安装了.NET Framework 2.0.5或以上的环境。
卸载命令为:
NginxServer.exe uninstall
Nginx 不会离开!如何删除它[关闭]
【中文标题】Nginx 不会离开!如何删除它[关闭]【英文标题】:Nginx wont leave! how to remove it [closed] 【发布时间】:2012-08-27 17:07:56 【问题描述】:我曾经运行过一次 nginx,但现在我无法摆脱它。当我在我的服务器 localhost 上运行 apache 时,仍然指向欢迎使用 nginx,我不知道为什么。我在 Windows 7 上。
【问题讨论】:
你确定你的Apache没有指向nginx欢迎页面还在的目录吗?您将 Apache 配置为在哪个端口上运行?当您启动 Apache 时,ist 会说什么?如果 nginx 仍在运行,您应该会收到一条消息,指出端口 80(或您使用的任何端口)仍处于绑定状态。 好吧,它什么也没说,但我在 httpd.config 中添加了 DocumentRoot "c:/www" 并没有考虑到它...... 可能它链接到同一个文件夹,但我摆脱了所有 nginx 文件,我不知道这两个在哪里为本地主机设置了默认文件夹 当您开始对 index.html 进行文件搜索并查看随后出现的目录时,您可能会很快找到它们。其中之一应该是旧的 nginx 东西。但是 - 仅仅因为欢迎页面出现 - 并不意味着 nginx 服务器的任何内容都保留下来。 是的,我想我找到了原因。我发现 apache 的目录从现在开始应该是好的。谢谢你,我会删除这个帖子 【参考方案1】:杀死 nginx 进程。
如果你确定 nginx 确实在运行,你只需要杀死 nginx.exe
进程并重新运行 apache
。
打开Run
(窗口键+ R)或commend prompt
(cmd.exe)并粘贴到命令下方,
taskkill /F /IM nginx.exe
查找哪个进程占用了 80 端口。
这里是netstat
命令和输出,用于查找哪个进程正在持有port 80
。
C:\> netstat -n -a -o | findstr "0.0.0.0:80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1588
^ 这里,1588
是进程持有port 80
的PID
。
因此,下面是从PID 1588
获取进程名称的示例命令。
C:\> tasklist /svc /FI "PID eq 1588"
Image Name PID Services
========================= ======== ============================================
nginx.exe 1588 N/A
所以,它表明nginx.exe
持有port 80
。
【讨论】:
以上是关于如何在windows上配置并运行Nginx的主要内容,如果未能解决你的问题,请参考以下文章