linux (09) nginx反向代理,负载均衡
一.nginx域名分配
1.创建一个新的服务器
server
1 server{ 2 listen 80; 3 server_name www.s15oumei.com; #定义访问域名 4 location / { 5 root /opt/myserver/oumei; #定义虚拟主机的网页根目录 6 index index.html; #定义虚拟主机的网页根目录下的文件 7 } 8 } 9 }
2.准备两个虚拟主机的网页根目录内容
1 [root@localhost myserver]# tree /opt/myserver/ 2 /opt/myserver/ 3 ├── oumei 4 │ └── index.html 写入自己的内容 5 └── rihan 6 └── index.html 写入自己的内容
3.配置完成后需要检查配置是否正确
启动nginx目录文件 -t 判断
4.
192.168.13.79 www.s15rihan.com
192.168.13.79 www.s15oumei.com
#因为我们没有www.s15oumei.com 也没有 www.s15rihan.com ,因此要在本地搞一个测试域名,
不想改dns的话,就去阿里云去买一个域名~~~~~~~~~~~~~~~~~~~~~~
5.配置完成后杀死进程,重启
pkill nginx
重启nginx文件
6.然后在浏览器测试访问 两个不同的 web站点
1.1nagix的访问日志功能
1.开启nginx.conf中的日志参数
在配置文件nginx.conf下,解开注释
1 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 2 '$status $body_bytes_sent "$http_referer" ' 3 '"$http_user_agent" "$http_x_forwarded_for"'; 4 #开启访问日志功能的参数 5 access_log logs/access.log main;
2.检查access.log的日志信息,访问时会有访问记录
tail -f access.log
1.2nginx的拒绝访问功能
1.在nginx.conf中,添加参数
在server{}虚拟主机标签中,找到location 然后添加参数
#当访问 192.168.13.79/ 的时候 location / { #拒绝参数是 deny #deny 写你想拒绝的IP地址 #deny还支持拒绝一整个网站 deny 192.168.13.33; root /opt/myserver/rihan; index index.html; }
1.3nginx的错误页面优化
1.修改nginx.conf 中的配置参数
这个s1540x.html存在 虚拟主机定义的网页根目录下,解开注释
error_page 404 /s40x.html;
s40x.html放在root 下面的根目录下,需自行创建文件
二.nginx反向代理
反向代理意味着在访问代理域名时会访问到要访问的页面,相当于一个媒介
1.实验环境准备
准备2个服务器,都安装好nginx软件
nginx1 192.168.13.79 作为web服务器 (理解为火车票售票点) nginx2 192.168.13.24 作为反向代理服务器 (黄牛) 用户 通过浏览器去访问 黄牛 (代理) 浏览器 访问 192.168.13.24 > 192.168.13.79
2.在反向代理服务器中添加配置
proxy_pass http://192.168.13.104;
1 server{ 2 listen 80; 3 server_name 192.168.13.106; #自己的域名 4 location /{ 5 # deny 192.168.125.*/; 6 proxy_pass http://192.168.125.129; #代理的域名 7 #root /opt/myserver/dapian; 8 #index index.html; 9 10 }
3.关闭进程,重启
4.访问代理域名
三.nginx负载均衡
集群的概念:一堆服务器做一件事
1.实验准备
准备三台计算机
nginx1 192.168.13.121 作为nginx负载均衡器 只要我访问这个负载均衡器,查看页面的结果,到底是来自于
nginx2 192.168.13.24 web服务,提供一个页面
nginx3 192.168.13.79 web服务,提供一个页面
然后启动两个nginx web 服务
1.轮询(不做配置,默认轮询) 2.weight权重(优先级) 3.ip_hash配置,根据客户端ip哈希分配,不能和weight一起用
3.写入负载解析虚拟机的代码
1 keepalive_timeout 65; 2 upstream node{ 3 4 server 192.168.125.129 weight=5; 5 server 192.168.125.130 weight=6; 6 } 7 8 #gzip on; 9 server{ 10 listen 80; 11 server_name 192.168.125.131; 12 location /{ 13 proxy_pass http://node; 14 # deny 192.168.125.*/; 15 # root /opt/myserver/dapian; 16 # index index.html; 17 18 19 }
4.启动负载均衡器的 nginx服务
5.在客户端windows中测试访问,负载均衡器 192.168.13.121 ,查看请求分发的结果