- 设置简单的代理服务器
nginx的一个常用用途是将其设置为代理服务器,这意味着服务器接受请求,将它们传递给代理服务器,代理服务器去对应的服务器中检索响应并将他们发送给客户端。
步骤:
配置一个基本的代理服务器,该服务器域名wap.gs.10086.cn,并将其他所有请求发送给代理服务器。
首先,通过server nginx的配置文件添加一个更多的块并使用以下内容定义代理服务器。
server {
#侦听端口
listen 80;
server_name wap.gs.10086.cn; #访问域名
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /gscc_card_selling{
#本地开发机地址(127是我随意写的,要修改为自己电脑ip)
proxy_pass http://127.0.0.1:8081;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
配置完成以后,我们需要重载配置文件信息(注意:我们要退回到nginx安装目录,不要修改配置文件直接敲命令,会提示命令无效)
接下来,我们要配置自己电脑的host。
host文件修改配置: 127.0.0.1 wap.gs.10086.cn
2.静态资源托管配置
细心同学可能发现,我上面访问的时候,静态资源已经正常加载(图片,css,js)是因为我之前配置了已经有了缓存。(正常情况下访问我们会报404错误)。
步骤:
我们需要将静态资源访问代理到硬盘固定路劲。
location /gsccstatic
{
root :E:/WorkSpace/IDEA/gcc_card_selling/webapp/resource;
}
重新刷新就可以正常加载到了。
3.nginx代理开发项目的完整配置文件
server {
listen 80;
server_name wap.gs.10086.cn;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /gscc_card_selling{
proxy_pass http://127.0.0.1:8081;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
location /gsccstatic{
root E:/WorkSpace/IDEA/gscc_card_selling/webapp/resource;
}
}
4.问题探究
正常配置了路劲,可是你发现还是报404,无法正常加载?
答:正常情况下,肯定是你的路劲不对,这时候需要去看nginx的log文件夹下的log日志去查看真正的路劲,然后对照修改。
域名+图片名称访问。
域名已经映射到静态资源托管配置了,所以域名即本机硬盘固定路劲,或者可以挂在其他硬盘固定路劲。
为什么要使用Nginx代理静态文件?这个问题去看静态资源快速加载
作为后端服务器中间件,Tomcat是绝大多数Java程序员的选择。但是Tomcat处理请求的能力固然很强大,但是作为静态资源代理的话,我们每次这么大的IO吞吐,我只能说:“廉颇老矣,尚能饭否?
通过nginx做静态资源服务器,来减少tomcat作为应用服务器的压力,而且nginx做静态资源服务器性能也是非常好的,只需通过nginx映射到静态资源目录。
静态资源是指非服务器运行动态生成的文件,主要包括浏览器端渲染(html、css、js)、图片(jpeg、gif、png)、视频文件(flv、mpeg)、其他文件(TXT等任意下载文件)。