最后
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣,
反向代理(reverse proxy):是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
反向代理,其实是"代理服务器"代理了"目标服务器",去和"客户端"进行交互。
通过反向代理服务器访问目标服务器时,客户端是不知道真正的目标服务器是谁的,甚至不知道自己访问的是一个代理。
虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端,但是二者之间还是有一定的差异的。
1、正向代理其实是客户端的代理,帮助客户端访问其无法访问的服务器资源。反向代理则是服务器的代理,帮助服务器做负载均衡,安全防护等。
2、正向代理一般是客户端架设的,比如在自己的机器上安装一个代理软件。而反向代理一般是服务器架设的,比如在自己的机器集群中部署一个反向代理服务器。
3、正向代理中,服务器不知道真正的客户端到底是谁,以为访问自己的就是真实的客户端。而在反向代理中,客户端不知道真正的服务器是谁,以为自己访问的就是真实的服务器。
4、正向代理和反向代理的作用和目的不同。正向代理主要是用来解决访问限制问题。而反向代理则是提供负载均衡、安全防护等作用。二者均能提高访问速度。
===================================================================
推荐网络yum源
(1)安装 pcre 依赖
tar –xvf pcre-8.37.tar.gz
进入源码目录
./configure && make && make install
(2)安装 openssl 、zlib 、 gcc 依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
(3)安装 nginx
tar –xvf nginx…
进入源码目录
./configure && make && make install
进入目录 /usr/local/nginx/sbin/nginx 启动服务
=====================================================================
===========================================================================
nginx 配置文件位置
安装完nginx之后,配置文件位置如下
/usr/local/nginx/conf/nginx.conf
配置文件中的内容 包含三部分内容
(1)全局块:配置服务器整体运行的配置指令 比如 worker_processes 1;处理并发数的配置
(2)events 块:影响 Nginx 服务器与用户的网络连接 比如 worker_connections 1024; 支持的最大连接数为 1024
(3)http 块 还包含两部分: http 全局块 server 块
5.1.1 实现效果
使用 nginx 反向代理,访问www.123.com
直接跳转到 127.0.0.1:8080
5.1.2 环境配置
5.1.3 测试
访问Nginx代理服务器的IP将会转发到本地tomcat服务器
5.2.1 实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中 nginx 监听端口为 9001
访问 http://127.0.0.1:9001/edu/
直接跳转到 127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/
直接跳转到 127.0.0.1:8082
5.2.2 环境配置
修改第二个服务器端口号为8081
还有shutdown端口和第一台不一致即可
[root@tomcat2 edu]# pwd
/usr/src/tomcat8080/apache-tomcat-7.0.70/webapps/edu
[root@tomcat2 edu]# cat a.html
Hello Tomcat1
[root@tomcat2 vod]# pwd
/usr/src/tomcat8081/apache-tomcat-7.0.70/webapps/vod
[root@tomcat2 vod]# cat a.html
Hello Tomcat2
5.2.3 测试
5.2.4 location 指令说明
URL就是一个完整的链接(统一资源定位符)
URI是一个标识,用来区别于其他资源的标识,它并不是一个完整的链接,而是相对地址
该指令用于匹配 URL。 语法如下:
location [= | ~ | ~* | ^~] uri {
}
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~*
:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~
:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。
重新加载nginx配置文件
=====================================================================
浏览器地址栏输入地址 http://www.123.com/edu/a.html
,负载均衡效果,平均8080和8081端口中
重新加载该配置文件
[root@tomcat2 sbin]# ./nginx -s reload
[root@tomcat2 sbin]# pwd
/usr/local/nginx/sbin
=====================================================================
将静态资源独立存放,由nginx转发静态资源
[root@tomcat2 data]# ll
total 0
drwxr-xr-x 2 root root 19 Mar 17 17:26 image
drwxr-xr-x 2 root root 19 Mar 17 17:29 www
[root@tomcat2 data]# cd image/
[root@tomcat2 image]# ls
1.jpeg
[root@tomcat2 data]# cd www/
[root@tomcat2 www]# ll
total 4
-rw-r–r-- 1 root root 27 Mar 17 17:29 a.html
每次修改过配置文件,都要重新加载配置文件
[root@tomcat2 conf]# cd /usr/local/nginx/sbin/
[root@tomcat2 sbin]# ./nginx -s reload
====================================================================
惊喜
最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)
2bf9682acac14c.png)
====================================================================
惊喜
最后还准备了一套上面资料对应的面试题(有答案哦)和面试时的高频面试算法题(如果面试准备时间不够,那么集中把这些算法题做完即可,命中率高达85%+)
[外链图片转存中…(img-FmSMB8kx-1715222158998)]
[外链图片转存中…(img-zYSaY7Au-1715222158999)]