CentOS环境下Nginx实现3台虚拟机负载均衡

作者&投稿:底万 (若有异议请与网页底部的电邮联系)
~

负载均衡

先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。

测试环境
在VMware里安装了三台。

A服务器IP :192.168.0.219 (主)

B服务器IP :192.168.0.119

C服务器IP :192.168.0.109

部署思路
A服务器做为主服务器,域名直接解析到A服务器(192.168.0.219)上,由A服务器负载均衡到B服务器(192.168.0.119)与C服务器(192.168.0.109)上。

在A服务器上,upstream指令——分配负载

vi /etc/nginx/conf.d/default.conf


upstream 192.168.0.219 {
server 192.168.0.119:80;
server 192.168.0.109:80;
}


server {
listen 80;
server_name 192.168.0.219;
charset utf8;

location / {
proxy_pass
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

保存重启nginx


在B、C服务器上,

vi /etc/nginx/conf.d/default.conf


server {
listen 80;
server_name 192.168.0.219;
index index.html;
root /usr/share/nginx/html;

}

保存重启nginx

测试
当访问的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的index.html文件,以作区分。

打开浏览器访问a.com结果,刷新会发现所有的请求均分别被主服务器(192.168.5.149)分配到B服务器(192.168.0.119)与C服务器(192.168.0.109)上,实现了负载均衡效果。

主服务器不能提供服务吗?
以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是也参与到提供服务中来。

怎么解决这个问题呢?因为80端口已经用来监听负载均衡的处理,那么本服务器上就不能再使用80端口来处理192.168.0.219的访问请求,得用一个新的。

于是我们在主服务器中编辑/etc/nginx/conf.d/default.conf,添加以下内容

server {
listen 8080;
server_name 192.168.0.219;
index index.html;
root /usr/share/nginx/html;
}

重启nginx

然后,再重新渡负载均衡。

更多Nginx相关教程见以下内容

CentOS 6.2实战部署Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx安装配置使用详细笔记

Nginx日志过滤 使用ngx_log_if不记录特定日志




centos如何进入控制台?
首先要切换成root用户,这样可以更改系统配置文件\/etc\/inittab。然后打开编辑文档vim\/etc\/inittab将id:5:initdefault:改为id:3:initdefault:这样reboot后就可以直接进入控制台命令行界面了。\\r\\nCentOS(CommunityEnterpriseOperatingSystem,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于RedHat...

如何查看centos系统cpu\/内存使用情况?
在CentOS中,可以通过top命令来查看CPU使用状况。运行top命令后,CPU使用状态会以全屏的方式显示,并且会处在对话的模式--用基于top的命令,可以控制显示方式等等。退出top的命令为q(在top运行中敲q键一次)。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows...

如何在CentOS系统下安装网卡驱动
168.10.编辑完成,ESC后按下shift和:,输入wq保存退出。最后service network restart 重启服务。至此网卡安装完毕。后文:linux是要学习的。虽然重新安装了N遍系统花了好长时间,但对系统的安装流程、网卡配置熟悉了很多。现在企业用centos的逐渐多了~希望iptable能用起来,就当是今年目标之一吧!

CentOS有哪些常见的处理目录的命令
复制一个目录下的所有文件到当前工作目录 cp -a \/tmp\/dir1 . 复制一个目录到当前工作目录 cp -a...umount -n \/mnt\/hda2 运行卸载操作而不写入 \/etc\/mtab 文件(当文件为只读或当磁盘写满时非常有用...CentOS7 常用命令集合 不过其实大多和DOS是一样的,只是命令的表达上可能有点儿不一样,毕竟这些都不是...

centos7云主机系统下如何挂载磁盘?
一、准备 centos7云主机一台 50G云硬盘 云硬盘挂载到云主机上 二、挂载磁盘 1.1查看新磁盘 [root@cgsl ]# fdisk l 找到新添加的磁盘的编号为\/dev\/vdc 1.2硬盘分区 进入fdisk模式 [root@cgsl ]# \/sbin\/fdisk \/dev\/vdc 输入n进行分区 [root@cgsl ]# Command (m for help): n 选择分区...

centos 字符界面下如何安装图形界面
在Linux环境下使用ssh登录远程Linux系统。Linux下的ssh命令是O pe nSSH的客户端程序。要登录远程Linux系统,必须保证远程Linux系统上启动了O pe nSSH服务器。使用ssh 命令登录远程O pe nSSH服务器的命令格式是:$ ssh 远程主机上的用户名@远程主机的IP地址或FQDN 进入字符CentOS界面可以从系统运行级别...

CentOS下如何安装CodeBlocks?CentOS下安装CodeBlocks图文详解
在桌面右键–>CreateLaucher:填入如下信息,然后点击OK:此时桌面会产生codeblocks图标,双击即可启动(注意: 如果双击启动不了,需重启下系统即可 ):六. 新建工程测试是否能正常运行:此时我们编译能成功,但是运行时无法弹出控制台窗口:原因是CB默认启动用的是xterm,而不是gnome控制台,解决方法...

centos命令执行后提示y\/d\/n是什么意思
y=yes d=download only N=no

CentOS文件查看及编辑介绍详解
:n 光标移到文件的第n 行; :$ 光标移到文件的最后一行; 2.2.4 文本插入操作 在命令模式下 ,用户输入的任何字符都被vi 当作命令加以解释执行,如果用户要将输入的字符当作是文本内容时,则首先应将vi 的工作模式从命令模式切换到文本输入模式。切换的方式是使用下面的命令: 1. 插入(Insert) 命令 vi 提供了两...

CentOS Linux防火墙配置及关闭方法
  iptables -N syn-flood   iptables -A FORWARD -p tcp --syn -j syn-flood   iptables -A INPUT -p tcp --syn -j syn-flood   iptables -A syn-flood -p tcp --syn -m limit --limit 3\/s --limit-burst 1 -j ACCEP  ...

沾化县15673019826: CentOS 7.2如何搭建Nginx、PHP、tomcat开发环境?我直接去相应的官网下载可执行的安装文件不行吗? -
杜孙头孢: centos是linux,不像windows下载个exe就可以装, 一般centos上安装程序有3种方式: 1、最简单的,用yum,比如 yum install nginx 2、去nginx官网下载源码,然后在centos上自己make编译安装,一般百度一下就有完整的编译步骤 3、直接找到*.rpm包下载,然后用rpm命令在centos上安装

沾化县15673019826: linux服务器centos怎么配置nginx+php+mysql -
杜孙头孢: 准备:1.配置防火墙,开启80端口、3306端口 vim /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp –dport 80 j ACCEPT #允许80端口通过防火墙-A INPUT -m state –state NEW -m tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙...

沾化县15673019826: CentOS系统上,怎么安装 nginx -
杜孙头孢: 1.下载最新版本Nginx 20解压下载下好的源码包 tar zxvfnginx-0.8.53.tar.gz3.进入解压出的源码文件夹 cdnginx-0.8.534.配置nginx./configure --prefix=/opt/nginx --with-http_stub_status_module 解释: --prefix 为安装路径,--with-为需要安装的模块,...

沾化县15673019826: 如何在CentOS 7中使用Nginx和PHP7 - FPM安装Nextcloud -
杜孙头孢: Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成.它使用 PHP 和 Javascript 编写,支持多种数据库系统,比如 MySQL/MariaDB、PostgreSQL、Oracle 数据库和 SQLite.它可以使你的桌面系统和云服务器中的文...

沾化县15673019826: centos 7.2 yum安装nginx 怎么重启 -
杜孙头孢: 如果你nginx是rpm包安装的,直接用如下命令: nginx -V 如果你是源码包编译安装,假如你的安装路径是/usr/local/nginx,那么你可以使用: /usr/local/nginx/sbin/nginx -V 注意是大写的V,这样你就可以看到nginx已经加载的模块了.

沾化县15673019826: centos下,做一个简单的PHP+Nginx+Mariadb网站的测试. -
杜孙头孢: 你先安装软件yum install nginx mariadb mariadb-server php php-mysqlnd -y 然后开启nginx , mariadb 然后可以在浏览器测试了http://127.0.0.1

沾化县15673019826: 在centos里安装nginx时用什么命令在/var下创建temp及nginx目录 -
杜孙头孢: 默认在nginx安装位置的html下面

沾化县15673019826: centos7怎么安装nginx -
杜孙头孢: 安装环境为:最小化安装的centos7,关闭seliunx.最小化安装centos:关闭selinux sed –i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 开始安装nginx1.7.8 创建群组 groupadd www 创建一个用户,不允许登陆和不创主目录 ...

沾化县15673019826: linux怎么快速安装nginx和php,不用安装数据库 -
杜孙头孢: Linux下如果要搭建nginx和php环境,需要安装三个软件包:nginx,php,php-fpm 比如说如果是centos的话:yum install nginx php php-fpm可能软件包名有差别,这个查查就知道了.然后配置nginx,修改nginx.conf,如果用sock就这样写...

沾化县15673019826: centos中nginx怎么启动? -
杜孙头孢: Nginx的启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中 -c 参数指定配置文件路径. Nginx的停止 Nginx支持以下几种信号控制: TERM, INT 快速关闭 QUIT 从容关闭 HUP 平滑重启 USR1 重新打开日志文件,在切割文件时...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网