最近在研究nginx部署,在网上找了些小例子学习,过程中遇到些问题,故总结下来分享给大家,
首先要在网上下载nginx,地址为http://nginx.org,下一个windows版本,并解压到一个盘符在,这里放在c盘根目录下。
然后其命令窗口,进到此目录下,运行nginx,操作如下:
如果正确运行,则在任务管理器会看到如下两个进程:
可以查看nginx目录下的logs目录下的error文件,发现报错信息:
1340#3540: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
意思是 nginx listen的80后端口被占用.解决办法如下:
在cmd窗口运行如下命令:
[plain]
C:\Users\Administrator>netstat -aon | findstr :80
如果是被系统占用:
看到80端口果真被占用。发现占用的pid是4,名字是System。怎么禁用呢?
1、打开注册表:regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、找到一个REG_DWORD类型的项Start,将其改为0
4、重启系统,System进程不会占用80端口
重启之后,start nginx.exe 。在
浏览器中,输入127.0.01,即可看到亲爱的“Welcome to nginx!” 了。
如果是其它的占用,就找到相应进程pid,然后kill掉,重启nginx,比如:
C:\>netstat -aon|findstr "80"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
httpd.exe 2560 RDP-Tcp#5 2 16,984 K
上面很明显,是httpd这个进行占用了80端口,大家都知道httpd这个进程是apache的进程,也确实我的服务器上已经启动了apache,所以关掉apache就行了。
如果是其它的,可以直接kill掉。
当然也可以你的nginx就不要监听80端口。
这个问题解决后,就是如何使用的问题了,这里以获取图片为例,这里我在H盘建立一个文件夹,里面放一些图片,如何在其他机器上定位到本地电脑上的图片呢,首先修改conf目录下的nginx.conf,将root下的内容替换成你要链接的地址,如下图:
然后关闭nginx,并重启,操作命令如下:
nginx -s stop
nginx -s reload 改变配置文件的时候,重启nginx工作进程,来时配置文件生效,
然后在网址输入:http://localhost/5.jpg
会出现本地H盘中图片:
这样nginx简单部署就完成了,如果最后图片没有显示,则http://blog.csdn.net/zhezhebie/article/details/73331335,这里有解决办法