公司项目需要一个图片上传的功能,就图片能上传到服务器(公司用的windows服务器),然后nginx能进行代理访问到就行了,先简单介绍一下nginx,然后再来实现功能。
一、nginx简介
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
Nginx专门为性能优化而开发,性能是其最重要的考量,实际上非常注重效率,能经起高负载的考验,有报告表明能支持高达50000个并发连接数。
二、反向代理
1.正向代理
在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。
2.反向代理
我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
三、负载均衡
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
四、动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。减低原来单个服务器的压力。
五、nginx常用命令
1.使用nginx操作命令前提条件:必须进行nginx的目录
2.查看nginx的版本号
nginx -v
3.启动nginx
nginx
4.关闭nginx
nginx -s stop
5.重新加载nginx
nginx -s reload
六、nginx的配置文件(nginx.conf)
nginx配置文件有三部分组成
1.全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。
比如:worker_processes 1; worker_processes值越大,可以支持的并发处理量也越多。
2.events块
events块涉及的指令主要影响nginx服务器与用户的网络连接。
比如:worker_connection 1024; 支持的最大连接数。
3.http块
nginx服务器配置中最频繁的部分,http块也可以包括http全局块、server块。
七、nginx配置图片的访问路径
图片文件上传至服务器D:/images中,然后通过IP地址/upload/加图片名称进行访问。
1 | #user nobody; |
配置好nginx.conf记得重启一下服务器。效果如图:
八、java后台代码
1 | /** |
这里将图片上传至D:/images文件夹中,因为前面配置了nginx的缘故,我这里是在本地测试的,直接使用localhost/upload/+返回的图片名称就可以访问到了。
如果想要通过项目的地址外加端口号进行访问的话,可以配置一个资源映射路径。
1 | /** |
like this!
项目代码可在github进行查看