linux apache 负载均衡,浅谈Linux安装nginx/Apache及简单实现下负载均衡

本文介绍如何使用两台服务器实现Nginx负载均衡配置,包括安装Nginx和Apache,配置端口,以及实现负载均衡的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始的准备工作:

1:准备两台服务器。这里说明下,本应该使用三台的服务器,因资源有限就拿两台服务器当成三台来用。基本的模型就是一台服务器安装Apache,另一台安装Nginx和Apache。这样相当于负载均衡服务器上也有一台web服务器。这样的处理是更好的利用有限的资源达到最终的效果。

2:下载Linux版本的Nginx 当前我用的是1.6.3.

9efdbd6ea9213bb24e19e56177564b53.png

上图就是两天服务器了,123开头的服务器用来做负载均衡服务器且同时部署一台Apache服务器,182开头的服务器也作为Apache web服务器。

由于两台的服务器配置一样,所以作为例子就只安装 配置 123这台服务器 包括安装Nginx、Apache 及配置。

33075f85dd219caac4f8ac2d00d47fcc.png

f247242ebc80222fb011a274b4246fdc.png

这里安装Apache,很简单一条命令搞定。接下来需要配置下Apache的端口。默认使用的是80端口。但是当前因为后面需要安装Nginx,它默认也是使用80端口,所以这里就把Apache端口改为8080.

7741ddaedef95c794234a4fc223ec0dd.png

a923430ae2161a8e5e1c1ddf3aede95c.png

6c588f0ae05ee2b9687ac63202520d7f.png

配置好端口后,可以检查下Apache的状态 然后启动Apache。

curl 123.206.46.39:8080请求下 控制台就会打印出测试页面内容了。 到这一步 安装 配置Apache已经完成了

补充一点,未了看的更直观 把Apache的测试页面变为其当前的服务器IP地址

命令

echo 123.206.46.39 >/var/www/html/index.html

972f1123ef38a0db985120aed16d591f.png

1:接下来安装Nginx,在安装Nginx之前 先安装个lrzsz软件 方便上传文件。安装完lrzsz后 上传Nginx安装包

5697925433d05667a68344ccf4533ab4.png

8b5407f1de7ea7ea2bd3625b2bb05279.png

0bf39d30e3128fd3a053174eb80080ff.png

对上传的Nginx安装包进行解压,然后开始安装, 在安装之前需要在安装下pcre 和 openssl

具体命令:

yum install pcre-devel -y

yum install openssl-devel -y

安装niginx

./configure --user=nginx --group=nginx --prefix=/appliaction/nginx-1.6.3 --with-http_stub_status_module --with-http_ssl_module

d8c3fa7d7b8306a15e9051fc91185d4a.png

在安装过程 爆出了一个错误,这个错误之的是系统没有安装gcc ,安装上即可。

命令 yum install gcc -y

安装完后呢就能顺利的安装Nginx啦

然后编译

make

make install

全部做完后

ln -s /appliaction/nginx-1.6.3/ /appliaction/nginx

然后就可以启动Nginx

/appliaction/nginx/sbin/nginx

停止命令

/appliaction/nginx/sbin/nginx -s stop

b5faf5d855b2ce4cad967e9094b87551.png

这里获取nginx这个用户失败,所以这里添加一个nginx用户。

useradd nginx -s /sbin/nologin -M

这样在重新起下就ok了

9d325a619e85da56a0b8525bdb99b9e9.png

到这一步Nginx 就安装好了。

接下来就是 负载均衡的配置了。

配置nginx的负载涉及一个模块 upstream 可以查看官网的文档

upstream backend {

server backend1.example.com weight=5;

server backend2.example.com:8080;

server unix:/tmp/backend3;

server backup1.example.com:8080 backup;

server backup2.example.com:8080 backup;

}

server {

location / {

proxy_pass http://backend;

}

}

改造后的配置为:

upstream yaffa {

server 182.61.15.157:80 weight=5;

server 123.206.46.39:8080 weight=5;

server 182.61.15.159:80 weight=5 backup;

}

server {

listen 80;

server_name www.yaffa.org;

location / {

root html;

index index.html index.htm;

proxy_pass http://yaffa;

}

}

0e737b6cf711f47b2e72754fda5addeb.png

配置好负载均衡后:

进行语法检查 如果成功 则刷新配置文件使其生效

命令

../sbin/nginx -t

../sbin/nginx -s reload

9cf76e4127ceac88b0b74c9e929b763d.png

7b73dd334d911d9030a9ae3036e3ce0e.png

a058614e41bdccf6525b99a2753f7f52.png

f858637bea41eb6e317098d3ae419741.png

可以从最后的控制台的输出可以看出 负载均衡已经生效 每次强求返回的ip地址不一样,

说明下182.61.15.157 之前说的是另一台Apache服务器。

由于123 这台服务器不仅仅只安装部署了nginx 还有一台Apache服务器 所以在访问123这台服务器时 返回的结果可以看出 123 和182 这两台服务器相应的切换。

当然这种方式为轮询的方式,也可以通过设置nginx.conf 配置每台服务器的权重值 来达到某台服务器被分配的请求更多。

这里就不细说了。

还要nginx还支持ip_hash 的策略 及同一个ip 访问的都是同一台服务器,这样的好处是 回话信息无需共享 同时在做分布式缓存时也可以考虑ip_hash的策略。

好了今天就到这了 下一次分享下keepalived

123.206.46.39

这个是公网ip 浏览器可以直接请求 拿去玩吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值