ubuntu上Apache2实现负载均衡

实验环境

虚拟机三台

tomcat1 192.168.103.192 tomcat+mysql

tomcat2 192.168.103.195 tomcat

apache2 192.168.103.217 apache2

tomcat目录放在/data/software

一、首先在tomcat1上安装mysql和redis、tomcat

mysql的安装

1.安装mysql相关依赖包

apt-get -y install gcc libncurses5-dev zlib1g-dev libssl-dev bison build-essential

2.MySQL5.5放弃了./configure预编译方式,改用cmake了,所以我们先要安装cmake。

wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz

tar -zvxf cmake-2.8.7.tar.gz

cd cmake-2.8.7

./configure

make && make install

3.下载Mysql源码包,加压缩后编译安装mysql。

mkdir /var/lib/mysql /var/log/mysql  创建mysql 目录

wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.30.tar.gz

tar -zvxf mysql-5.5.30.tar.gz

cd mysql-5.5.30

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DWITH_SSL=system -DWITH_DEBUG=0

make && make install

# 备注:对于csv,myisam,myisammrg,heap在cmake中是不需要明确指定存储引擎的名称,因为它们是强制性安装。

4.创建用户组和用户,创建相关目录并赋权。

#创建mysql组和mysql用户

groupadd mysql;

useradd -r -g mysql mysql 或 useradd -s /sbin/nologin mysql

chmod +w /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql /var/lib/mysql /var/log/mysql

5.初始化数据库,并给数据库赋权

/usr/local/mysql/scripts/mysql_install_db --user=mysql --pid-file=/var/lib/mysql/mysql.pid --datadir=/var/lib/mysql/ --basedir=/usr/local/mysql

赋权:

chown -R mysql:mysql /var/lib/mysql

6.修改配置文件。

将解压后的tar包下的support-files/my-medium.cnf复制/etc并替换为/my.cnf. (根据需求复制相应配置)

cp support-files/my-medium.cnf /etc/my.cnf

#在[client]下修改socket值为/var/lib/mysql/mysql.sock,

修改mysqld下的socket值为/var/lib/mysql/mysql.sock,并指定mysql目录、mysql数据目录、mysql错误日志目录,配置如下,并设定数据库编码为UTF-8修改后保存退出

[client]

socket          = /var/lib/mysql/mysql.sock

# The MySQL server

[mysqld]

port            = 3306

socket          = /var/lib/mysql/mysql.sock

basedir = /usr/local/mysql

datadir = /var/lib/mysql/

log-error = /var/log/mysql/mysql-error.log

pid-file = /var/lib/mysql/mysql.pid

character-set-server = utf8

7.设置mysql开机启动。

启动mysql

/usr/local/mysql/bin/mysqld_safe &

ps -A|grep mysql

设置mysql开机启动。

cp support-files/mysql.server /etc/init.d/mysql

chmod +x /etc/init.d/mysql

chkconfig --add mysql

chkconfig mysql on

测试mysql是否能启动、暂停、重启

service mysql restart (start|stop|restart)

或/etc/init.d/mysql restart (start|stop|restart)

将部分mysql命令加入到/usr/bin中:

ln /usr/local/mysql/bin/mysql /usr/bin/

ln /usr/local/mysql/bin/mysqladmin /usr/bin/

ln /usr/local/mysql/bin/mysqldump /usr/bin/

安装成功后,设置mysql root密码

mysql>set password =password(‘123456‘);

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION; 可以从任何主机连接到mysql

mysql>flush privileges;

二、安装tomcat

  1. 首先配置java环境

#vi ~/.bashrc       在末尾添加参数

export JAVA_HOME=/data/software/jdk1.7.0_79

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

2.解压配置tomcat

#tar zxvf apache-tomcat-7.0.62.tar.gz

#cd apache-tomcat-7.0.62/webapps/

然后上传登陆系统login,然后数据库指定到本地数据库地址(这里根据自己需求)

进入到tomcat的bin目录下启动服务

tomcat2 上只安装tomcat和以上步骤一样,login配置要指向192.168.103.192这个数据库

三、安装Apache2

1 安装apache2

apt-get install apache2

service apache2 stop

2 加载代理模块

a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http lbmethod_byrequests

3 修改配置 sudo vi /etc/apache2/mods-enabled/proxy.conf

ProxyRequests Off

<Proxy *>

Order deny,allow

Deny from all

#Allow from .your_domain.com

</Proxy>

4 修改配置 vim /etc/apache2/sites-available/000-default.conf

负载均衡配置

ProxyRequests Off

Proxypass / balancer://proxy/

<Proxy balancer://proxy>

Order Deny,Allow

Allow from all

BalancerMember http://192.168.103.192:8080

BalancerMember http://192.168.103.195:8080

</Proxy>

</VirtualHost>

service apache2 restart

然后访问地址192.168.103.217/login 第一次访问会跳转到192.168.103.192第二次会转到192.168.103.195,实验完成。

时间: 2024-11-05 22:41:18

ubuntu上Apache2实现负载均衡的相关文章

linux,centos7上搭建LVS负载均衡

在linux,centos7上搭建LVS负载均衡 实前准备 准备五台虚拟机 四台centos7 一台做调度 一台做nfs缓存 两台做wed群集 一台windows7 开始逐个配置 配置nfs服务器(centos7在用的时候是在线下载源代码包但是为了做实验先把源代码用yum安装好后改为仅主机模式) IP:192.168.10.174 用rpm -q nfs-utils查看有没有安装 rpcbind (远程过程调用) 编辑配置文件 [[email protected] ~]# vim /etc/ex

(转)ubuntu apache2 的负载均衡和反向代理

apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置. 首先说先实验环境吧 操作系统:DEBIAN 5.03(Ubuntu也可以同理配置) 一.安装apache加载模块 apt-get install apache2然后进入到apache的配置目录cd /etc/apache2apache的反向代理和负载均衡其实利用的都是反向代理的原理,至于什么叫做反向代理可

centos7上实现LVS负载均衡群集之NAT转换模式

LVS虚拟服务器 Linux Virtual Server(LVS)是针对 Linux内核开发的一个负载均衡项目,由我国的章文嵩博土在1998年5月创建,官方站点位于http://www.linuxvirtualserver.org/. LVS实际上相当于基于IP地址的虚拟化应用,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法. LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用. LVS的负载调度算法 针对不同的网络服务和配置需要,LVS调度器

Azure上七层负载均衡APP Gateway

Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上图,APP Gateway实现用户HTTPS网站的SSL Offload,还可以实现多个VM的负载均衡.而且可以实现Cookie Affinity功能,这也是7层负载均衡的一种功能. 通过App Gateway.SLB.Traffic Manager综合使用,可以实现对应用系统的高扩展性: 可以通过

CentOS7上部署LVS负载均衡群集之LVS-NAT(地址转换模式)

CentOS7中的LVS负载均衡群集之LVS-NAT(地址转换模式) 简介 在当今各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等的要求越来越高,单台服务器将难以承担所有的访问.除了使用价格昂贵的大型机.专用负载分流设备以外,企业还有另外一种选择来解决难题,就是构建集群服务器--通过整合多台相对廉价的普通服务器,以同一个地址对外提供相同的服务. 负载均衡群集:以提高应用系统的响应能力.尽可能处理更多的访问请求.减少延迟为目标,获得高并发.高负载的整体性能. 实验介绍 环境

docker上配置nginx负载均衡

采用ubuntu系统,docker安装自行百度 1.安装tomcat docker run -d -p 8088:8080 tomcat docker run -d -p 8089:8080 tomcat 安装两个实例,端口分别为8088,8089 2.安装nginx docker run -p 8080:80 -d docker.io/nginx 安装nginx,端口为8080.在测试的过程中,发现ubuntu上对80端口有限制,不能直接访问,所以映射为8080 3.修改nginx配置 3.1

VMware上实现LVS负载均衡(NAT)

本文LVS的实现方式采用NAT模式,关于NAT的拓扑图请参照我的上一篇文章,本文纯粹实验,NAT在生产环境中不推荐使用,原因是Load Balancer容易成为瓶颈! 1.VMware9上安装CentOS-6.5-x86_64-minimal版 2.安装完成后将其hostname设置为LVS-master hostname LVS-master sudo -i 3.之后copy两份虚拟机的文件 成为RS1和RS2 三台虚拟机都采用桥接的网络方式,最大的好处就是直接使用真实的路由 让他们处在同一个

Linux 双网卡实现负载均衡(Centos or Ubuntu)

将两张网卡绑定,共用一个IP,实现冗余效果.实际上linux双网卡的绑定模式有7种: mode=0 表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作. mode=1 表示 fault-tolerance (active-backup)提供冗余功能,工作方式是主 从的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份. mode=2 表示 XOR policy 为平衡策略.此模式提供负载平衡和容错能力 mode=3 表示 broadcast 为广

practice:在win2008R2上使用(NLB)网络负载均衡

版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关于NLB的官方描述,在搭建NLB群集之前,必须先对NLB的原理进行初步了解 Windows Server 2008 R2 中的网络负载平衡 (NLB) 功能可以增强 Internet 服务器应用程序 [如在 Web.FTP.防火墙.代理.虚拟专用网络 (VPN) 以及其他执行关键任务的服务器上使用的应用程序] 的可用性和可伸缩性.运行 Windows Server 2008 R2 的单个计算机提供有限的服务器可靠性和可伸缩性能.但是,通过