最近负责项目的优化和重构.打算使用nginx进行图片和js.css等前端文件进行管理.这里先在window环境下进行配置访问。
环境windowsXP + nginx配置图片服务器
其中我的图片存放目录在:F:\study\tyimages
目录结构为:
Tyimages/
1/
2/
3/
…..
1.nginx的下载
到nginx for windows由第三方编译的nginx Windows 版本下载
2.安装和一些简单的指令
命令行进入c:\nginx目录,运行nginx.exe,启动控制台窗口。默认启用80端口。nginx查看日志必须在logs目录下的相应log文件。因为启动后它不会出现控制台
所以当你启动后以为服务器未启动再次启动的时候会出现异常
bind() to 0.0.0.0:80 failed (112: Address already in use)
你就必须看看后台运行nginx.exe的进程有多少个了..这种情况是你的进程被占用了.如果一启动就出现这问题你就必须看看是否有别的服务器占用了该端口了.修改下端口名(下面会讲解端口的配置)
cmd指令有
cd nginx(默认c盘) 进入到安装的目录
启动
start nginx或者直接输入nginx
重载
nginx -s reload
关闭
nginx -s quit
官方文档http://nginx.org/en/docs/windows.html
3.Ngnix常用配置
#设置虚拟主机 可以配置多个虚拟主机 通过include的方式进行配置 server { #1.侦听9001端口 listen 9001; server_name localhost; charset utf-8; #设置虚拟主机的访问日志 access_log logs/www.hkebao.com.access.log main; #定义图片服务器的目录位置。凡以jpg之类结尾的全部甩到此目录下面去 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { root /cygdrive/f/study/tyimages;#设置f:\study\tyimages 为documentroo expires 24h; #设置过期时间 } #设置网站的根目录 location / { root /cygdrive/f/study/tyimages;#设置f:\study\tyimages 为documentroot index index.html index.htm; } error_page 404 /404.html;#跳转地址的配置.可以自定义 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
下面说下root /cygdrive/f/study/tyimages;使用
在直接使用f:study/tyimages的时候.访问http://localhost:9001/1/20.jpg
将会出现404notfound页面.查看日志异常为:
open() "/cygdrive/c/nginx/F:/study/images/tyimages/1/20.jpg" failed
上网查了下资料了解到
原来nginx for windows 是在cygwin下编译的,也就是说,并不存在所谓的移植,只不过是拿过来直接编译,通过了以后打包生成的这么一个玩意,发布者默认将nginx安装到c盘下。至于cygdrive/c ,这是cygwin模拟linux下的mount方式,将windos下的盘符路进虚拟成类linux的模式。ok,这样就好办了。
文章原地址
所以访问图片地址需要使用/cygdrive/f/study/tyimages==》f://study/tyimages
以上配置完毕 之后开启NGINX。
[url]http://localhost:9001/1/20.jpg [/url]访问即可