简单集群架构
集群
反代理及相关知识
1.代理
代理服务器Proxy Server:存在于会话层,起到防火墙的作用,常用在internet国际互联网和LAN局域网之间的连接。
代理服务器的功能:
1.突破自身IP访问限制,访问国外站点。
2.访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
3.突破中国电信的IP*:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的*是不同的。所以不能访问时可以换一个国外的代理服务器试试。
4.提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
5.隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。
2.正向代理
正向代理服务器位于客户端和服务器之间,为了向服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。
常见例子:VPN
Q:什么是VPN?
当我们的电脑接入VPN后,我们访问网站的ip会变成VPN服务器的公网IP,我们请求或者接受的任何数据都会通过VPN的服务器传入本机中。
3.反向代理
正向代理和反向代理的区别:正向代理代理客户端,反向代理代理服务器。
4. Ngnix 反向代理
/etc/init.d/nginx start/stop/reload
nginx -t #检查nginx.conf配置文件是否出现问题
systemctl status nginx.service #查看错误原因
ngnix配置文件详解
存放路径:/etc/nginx/nginx.conf
nginx配置文件结构:nginx.conf由多个块构成,最外面的块是main,main包含events和http,http包含多个upstream和多个server,server又包含多个location。
main(全局设置):设置的指令将影响其他所有设置;
server(虚拟主机设置):指令主要用于指定主机和端口;
upstream(负载均衡服务器设置):指令主要用于负载均衡,设置一系列的后端服务器;
location(URL匹配特定位置的设置):用于匹配网页位置。
四者之间的关系:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。
1)虚拟主机
虚拟主机是用来映射网站目录和网站代码文件夹的关系,通过server配置,每一个server表示一个虚拟主机。
#www.domain1.com对应的虚拟主机
server{
listem 80;
server_name www.domain1.com;
access_log logs/domain1.access.log main;
location / {
index index.html;
root /var/www/domain1.com/htdocs;
}
}
负载均衡算法
- Ip hash算法
对用户请求的ip进行hash操作,根据hash结果将同一个客户端ip请求分发给同一台服务器进行处理,可以解决session不共享的问题。
修改Nginx的配置文件
#进入nginx的配置文件 nginx.conf
#在main中添加以下代码
upstream luckyDog{ #后端负载均衡集群 名称设置为luckyDog
#ip_hash
server 192.168.43.**:8080 weight=1; #weight越大 被访问的机会就越大,加权轮询算法;当weight都等于1,和未设置时均为轮询算法。
server 192.168.43.**:8080 weight=1;
}
server {
listen 80;
server_name localhost;
location \ { #将所有访问localhost的流量代理到后端的luckyDog集群里
proxy_pass http://luckyDog;
proxy_set_header Host $host;
index index.html index.html;
}
}
#保存后退出
#使用命令 nginx -t 测试nginx.conf文件是否有问题
#没有问题后可以启动nginx服务器
5.tomcat
遇到的问题汇总
1.解决nginx启动报nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
原因:80端口被nginx占用
使用:sudo fuser -k 80/tcp
2.防火墙操作命令
开启禁用 sudo ufw allow/deny 或者 enable|disable
查看状态 sudo ufw status
打开关闭某个端口 sudo ufw allow 22/tcp (ssh端口)
sudo ufw delete allow 53
设置默认策略 (比如 “mostly open” vs “mostly closed”) sudo ufw default allow|deny
本文地址:https://blog.csdn.net/qq_36930921/article/details/110794712