代理有正向代理与反向代理2种。2者的区别在于代理的对象不同,正向代理代理的对象是客户端,反向代理代理的对象是服务端。
正向代理:例如国外某些网站不允许访问,我们可以通过翻墙用代理服务器去访问,这样为正向代理(访问目标明确,被访问者不知道谁是访问者,访问者来源被屏蔽。隐藏了真实的请求客户端,服务器不知道真实的客户端是谁,客户端请求的服务被代理服务器来请求。)
反向代理:
以下主要学习nginx:
在项目中,Nginx的作用就是负载均衡,项目整合
例子:项目A有一个页面,要引用项目B的pc版的数据接口(pc版域名)和wap版的a.jsp页面(wap域名)。
优化:为了日后容易维护项目A的域名配置文件,可以在nginx配置。
(pc数据接口)http://testpc.com.cn/data/r2/
(wap页面)http://testwap.com.cn/jr/waptest/
修改后:
(pc数据接口)http://testwap.com.cn/jr/data/r2/
(wap页面)http://testwap.com.cn/jr/waptest/
1.nginx模块:
events {
use epoll;
worker_connections 20000;
}
use epoll;//如果nginx不知道使用哪种轮询方式,会帮你选择一个最适合你操作系统的
worker_connections 20000;//理论上每台nginx服务器的最大连接数为worker_processes*worker_connections worker_processes为我们再main中开启的进程数.
2.路径配置:
server {
listen 80;
server_name video.abc.com;
location / {
proxy_pass http://192.168.1.100:8081/video;
}
}
【alias】别名配置,匹配到location对应的路径后,指向【alias】配置的路径
【proxy_pass】反向代理配置,用于代理请求,适用于前后端负载分离或多台机器、服务器负载分离的场景。
在匹配到location配置的URL路径后,转发请求到【proxy_pass】配置的URL。是否会附加取决于【proxy_pass】配置的路径,
有"/"则不附加,没"/"则附加。
【root】根路径配置,匹配到lcoation对应的路径a后,将a附加到【root】匹配的路径之后。
例子,本地有2个项目,打算用nginx配下不同域名不同端口(虽然没有nginx,还是照样可以用不同端口不同域名来区别访问)
要做的修改有以下几点:
1.服务端是用resin,改下配置文件端口,auto5为8081,汽车商城为8082.
2.修改域名与ip对应关系
3.下载nginx,解压修改nginx.conf。切换到解压路径,start nginx,在浏览器输入localhost可以看到nginx欢迎页,再修改配置,忘了nginx -s reload刷新页面即可访问。nginx -t可以测试下conf配置文件有没有语法错误。
访问链接:http://price.wmm.pcauto.com.cn:80/supervise/admin/login.jsp?msg=-2
http://mall.wmm.pcauto.com.cn:80/admin/login.jsp
在windows用nginx经常会出现这个错(退出nginx后才报的):
这是因为退出会自动删了logs文件夹下的nginx.pid,重新启动就好了