nginx负载均衡-基于端口的负载均衡(一)

news/2025/1/10 22:32:34/

在这里插入图片描述
注意:
(1) 做负载均衡技术至少需要三台服务器:一台独立的负载均衡器,两台web服务器做集群

一、nginx分别代理后端web1 和 web2的三台虚拟主机

1、web1(nginx-10.0.0.7)配置基于端口的虚拟主机

[root@Oldboy extra]# cat www.conf 
server {listen        10.0.0.7:80;
#     server_name  www.etiantian.org;location / {root   html/www;index  index.html index.htm;}access_log  logs/www_access.log  main;
}
[root@Oldboy extra]# cat bbs.conf 
server {listen       10.0.0.7:8080;
#     server_name  bbs.etiantian.org;location / {root   html/bbs;index  index.php  index.html index.htm;}access_log  logs/bbs_access.log  main;
}
[root@Oldboy extra]# cat blog.conf           动态页面
server {listen       10.0.0.7:8081;
#      server_name  blog.etiantian.org;location / {root     html/blog;index    index.php;
}location ~ .*\.(php|php5)?$ {root html/blog;fastcgi_pass  127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}access_log  logs/blog_access.log  main;
}

2、web2(apache-10.0.0.8)配置基于端口的虚拟主机

NameVirtualHost 10.0.0.8:80
Listen 8080                                           手动写上监听端口,80在主配置文件
Listen 8081
<VirtualHost *:80>ServerAdmin oldboy@oldboyedu.comDocumentRoot "/application/apache2.2.31/htdocs/www"ServerAlias etiantian.orgErrorLog "/app/logs/www-error_log"CustomLog "/app/logs/www-access_log" common
</VirtualHost><VirtualHost 10.0.0.8:8080>ServerAdmin oldboy@oldboyedu.comDocumentRoot "/application/apache2.2.31/htdocs/bbs"ErrorLog "/app/logs/bbs-error_log"CustomLog "/app/logs/bbs-access_log" common
</VirtualHost><VirtualHost 10.0.0.8:8081>                                                            动态页面ServerAdmin oldboy@oldboyedu.comDocumentRoot "/application/apache2.2.31/htdocs/blog"ErrorLog "/app/logs/blog-error_log"CustomLog "/app/logs/blog-access_log" common
</VirtualHost>

3、负载均衡器(LB-nginx-10.0.0.6)配置反向代理

[root@Oldboy conf]# cat nginx.conf
worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;upstream www_pool {                                                   www静态地址池server 10.0.0.7:80  weight=1;                                      权重越大优先级越高server 10.0.0.8:80  weight=1;
}upstream bbs_pool {                                                    bbs静态地址池server 10.0.0.7:8080  weight=1;server 10.0.0.8:8080  weight=1;
}upstream blog_pool {                                                  blog动态地址池server 10.0.0.7:8081  weight=1;server 10.0.0.8:8081  weight=1;
}server {listen       80;server_name  www.etiantian.org;location / {index  index.html index.htm;proxy_pass http://www_pool;                                          代理www静态页面include proxy.conf;}}server {listen       80;server_name  bbs.etiantian.org;location / {index  index.html index.htm;proxy_pass http://bbs_pool;                                            代理bbs静态页面include proxy.conf;}}server {listen       80;server_name  blog.etiantian.org;location / {index  index.html index.htm;proxy_pass http://blog_pool;                                          代理blog动态页面include proxy.conf;}}
}

4、修改web端日志访问ip

默认情况下web端日志记录的访问ip是负载均衡器的ip,所以需要修改为真实客户端ip
(1) 负载均衡器(LB)配置
server {listen       80;server_name  blog.etiantian.org;location / {index  index.html index.htm;proxy_pass http://blog_pool;                                          代理blog动态页面proxy_set_header Host  $host;                                        proxy_set_header X-Forwarded-For $remote_addr;      负载均衡器开启ip转发,将客户端ip映射到web服务器}}(2) web1端修改(nginx主配置文件)
cat  nginx.conflog_format  main  '$http_x_forwarded_for  $remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';(3) web2端修改 (apache主配置文件)
LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b"  common

http://www.ppmy.cn/news/1562077.html

相关文章

【shell编程】报错信息:bash: bad file descriptor(包含6种解决方法)

大家好&#xff0c;我是摇光~ 在运行 Shell 脚本时&#xff0c;遇到 bash: bad file descriptor 错误通常意味着脚本尝试对一个无效或不可用的文件描述符&#xff08;file descriptor&#xff09;执行了读写操作。 以下是一些可能导致这个问题的原因、详细案例以及相应的解决…

nlp培训重点-2

bert,albert,robotbert,xl_net 1. 贝叶斯公式 import math import jieba import re import os import json from collections import defaultdictjieba.initialize()""" 贝叶斯分类实践P(A|B) (P(A) * P(B|A)) / P(B) 事件A&#xff1a;文本属于类别x1。文本…

腾讯云更改用户为root

最近买了台99元一年的2核的云服务器&#xff0c;方便学习一些java开发中间件&#xff0c;以及部署一些项目。 1.设置root用户密码 sudo passwd root 2.修改配置文件 ll /etc | grep ssh cd /etc/ssh/ ls vim sshd_config 输入/PasswordAuthentication 寻找 输入:set nu 再按下…

【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a; 期待您的关注 题目描述&#xff1a; 原题链接&#xff1a; 求123...n_牛客题霸_牛客网 (nowcoder.com) 解题思路&#xff1a; …

如何知道深度学习模型中,每个模块的功能是什么

在深度学习模型中&#xff0c;研究人员可以通过以下几种主要方式来理解每个模块的功能&#xff1a; 可视化技术 特征图可视化&#xff1a;对于卷积神经网络&#xff08;CNN&#xff09;&#xff0c;可以查看中间层的特征图。例如&#xff0c;在图像分类任务中&#xff0c;通过可…

(超详细)Maven安装配置、以及在IDEA中创建Maven项目

一、登录官网下载Maven Download Apache Maven – Maven 根据自己所需要进行下载&#xff0c;如果是windows系统就下载zip文件&#xff0c;Linux系统就下载gz文件 我下载的版本是3.6.3&#xff0c;下面是网盘链接&#xff1a; 百度网盘链接: https://pan.baidu.com/s/1Ytoprb…

国产信创实践(国能磐石服务器操作系统CEOS +东方通TongHttpServer)

替换介绍&#xff1a; 国能磐石服务器操作系统CEOS 对标 Linux 服务器操作系统&#xff08;Ubuntu, CentOS&#xff09; 东方通TongHttpServer 对标 Nginx 负载均衡Web服务器 第一步&#xff1a; 服务器安装CEOS映像文件&#xff0c;可直接安装&#xff0c;本文采用使用VMware …

天融信网络安全基础知识

1 哪些措施可以保护个人信息&#xff08;&#xff09;A A. 定期修改密码或采用强密码 B. 从不清理系统日志或各种软件使用痕迹 C. 随意连接wifi D. 使用记住密码 2 Burp Suite 是用于攻击&#xff08;&#xff09;的集成平台。A A. web 应用程序 B. 客户机 C. 服务器 D. 浏览器…