Windows下的Nginx图片服务器搭建
其实现在网上的图片托管服务也是非常成熟了,本人之前也是用了一个月的七牛云的对象存储服务来进行图片托管。当然也只是用了一个月而已,因为它的测试域名只能用一个月,一个月后你就要绑定一个自己的域名。绑域名简单啊,可是七牛云坑的就是要绑一个已经备案的域名,因为本人当时域名备案受限(也是一把泪啊,当然还是鼓励大家域名备案的),所以让七牛云进行图片托管的路也算是废了(其实七牛云还蛮好用的)。
于是乎,我为了解决这个图片托管的问题,找遍了各种方法,到头来想了想,还是放自己服务器里托管更方便,所以就找到了用Nginx来搭建图片服务器。
以上是我的吐槽,以及图片托管的一些经历。下面废话不多说,进入正题。
Nginx
- Nginx是什么?
Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。
Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。 - Windows什么情况下需要Nginx?
通常来说Windows下IIS就够用了,支持 .NET、ASP、PHP等等,不过如果你需要做负载均衡那你就需要Nginx,或者说你在一台服务器上,部署了Apache、IIS、Tomcat等多个Web服务器,这时候把80端口或443端口给Nginx在合适不过了。
当然,作为商业公司来说,通常不会有以上情况,但是如果你是个草根站长。或者说你想把你的Windows开发机作为服务器对外提供服务,那把你的Windows装上Nginx再合适不过了。
简要步骤
- 安装Nginx并启动
- 配置地址链接
- 然后就可以用了
目录
安装Nginx并启动
- 下载nginx,下载地址:http://nginx.org/,以nginx-1.16.1.zip为例,下载下来后,解压到如:C:\nginx\nginx-1.16.1
- 启动nginx,双击文件夹里的nginx.exe,双击后会有一个黑色的弹窗一闪而过
- 检查nginx是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功
也可以在cmd命令窗口输入命令 tasklist /fi “imagename eq nginx.exe” ,出现结果说明启动成功
nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可
检查80端口是否被占用的命令是:netstat -ano | findstr 0.0.0.0:80
或netstat -ano | findstr "80"
这里建议大家改一下端口,比如我的就改成88端口了,因为80端口是比较频繁被访问的端口,我们的图片服务器就另用其他的端口比较好。而且也能避免某些冲突和问题。
- 关闭nginx
如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe这里要注意的是,每次重启电脑以后,Nginx服务器都会关闭,所以需要自己手动打开,当然也可以设置计划任务让它自动打开。
当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令
nginx -s reload
即可让改动生效
配置文件链接
如果有配置FTP服务器,那可以在FTP服务器的根目录下创建一个img文件夹;没有FTP服务器就随便创建在一个文件夹。
这里,我就在nginx目录下的html创建img文件夹
接下来,打开Nginx的配置文件(nginx.conf),路径:..\nginx-1.17.7\conf\nginx.conf ,没有其他软件打开的话,就用记事本也可以打开。
添加两行代码
这里可以看到,我用的端口是88端口,然后再location / {..}后面空一行,添加如图代码,稍微注意一下格式,涂红处的路径就是你改成创建的img文件夹。
访问图片的地址是:http://localhost:88/img/1.jpg
这里,我看网上的教程说可以直接访问http://localhost:88/img/ 访问到你的文件(就像访问FTP服务器那样的界面),但是我自己弄的时候并不能用,会显示(无法访问此网站找不到 x.x.x.x 的服务器 IP 地址)。我研究了一下,也找不出原因,如果你知道的话,请务必告诉我,谢谢。
Nginx常用命令
命令 | 说明 |
---|---|
nginx -h | 查看帮助信息 |
nginx -v | 查看Nginx版本 |
nginx -s stop | 停止Nginx |
nginx -s quit | 优雅的停止Nginx(处理完正在进行中请求后停止) |
nginx -s reload | 重新加载配置,并优雅的重启进程 |
nginx -s reopen | 重启日志文件 |
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 qasdwasd@qq.com