JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx+Ngx_cache_purge+Keepalived+FastDFS(第三篇)

wys521 2024-09-18 02:56:46 精选教程 18 ℃ 0 评论

接着前俩篇继续记录fastDFS篇,记录如何实现高可用的分布式文件服务。如果生产环境中nginx对外提供的服务万一挂掉,这时高可用就显得非常重要。开发求新,运维求稳。个人感觉目前开发和运维的工作越来越不分的那么细了,技术不分隔阂。

1.Nginx配置反向代理,在tracker 跟踪器节点上安装Nginx并记载ngx_cache_purge模块。

wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz #没有就下载一个

进入到自己放工具包的位置解压ngx_cache_purge-2.3.tar.gz

tar -zxvf ngx_cache_purge-2.3.tar.gz -C /usr/local/

解压完之后我们在/usr/local/ 目录下可以看到多了一个ngx_cache_purge-2.3文件夹

2.安装nginx,先安装nginx需要的依赖项:

yum install pcre

yum install pcre-devel

yum install zlib

yum install zlib-devel

3.进入工具包文件夹下 解压nginx离线安装包,我解压到了/var 下

4..进入到 解压完成的nginx-1.13.7目录下编译安装nginx

./configure --prefix=/usr/local/nginx --add-module=/usr/local/ngx_cache_purge-2.3

make && make install

5.配置缓存,修改 listen 端口为8000

a.设置缓存存储路径,存储方式,分别内存大小,磁盘最大空间,缓存期限

b.各个组的负载均衡配置

我提供出我自己这次配置完的nginx.conf,需要的话可以去百度网盘下载,还有一些这次操作过程中的安装包,注意使用的时候更改下自己对应的storage节点的IP和端口信息。

(百度网盘永久有效)

链接:https://pan.baidu.com/s/1NOtan5Lmt9i7ZFgpVFW9ig

提取码:n2e9

6.创建nginx.conf配置文件下的缓存存放路径。

mkdir -p /fastdfs/cache/nginx/proxy_cache

mkdir -p /fastdfs/cache/nginx/proxy_cache/tmp

7./usr/local/nginx/sbin/nginx 启动nginx

8. /usr/local/nginx/sbin/nginx -V,查看ngx_cache_purge是否安装成功

9.安装 keepalived

作用:主要防止服务器单点故障的发生问题,与Nginx的配合实现web服务端的高可用

a.wget http://www.keepalived.org/software/keepalived-1.2.18.tar.gz

b.tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/

c.yum install -y openssl openssl-devel(需要安装一个软件包)

d.cd /usr/local/keepalived-1.2.18/ && ./configure --prefix=/usr/local/keepalived

e:make && make install

f:keepalived安装成Linux系统服务
mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

然后复制keepalived脚本文件:复制到 系统的文件里 会有意想不到的效果

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/sbin/keepalived /usr/sbin/

ln -s /usr/local/keepalived/sbin/keepalived /sbin/

开机启动:chkconfig keepalived on

service keepalived start

10. service keepalived stop 关闭该服务 修改/etc/keepalived/keepalived.conf配置

a.修改 global_defs当中配置的是主机名

b.每隔2秒中去执行/etc/keepalived/nginx_check.sh脚本一次,脚本在上边我粘贴的百度网盘中。这项检查从开始便一直进行,interval表示间隔时间,weight -20的意思是,脚本执行成功后把192.168.0.145 第一节点的优先级降低20。

c.这段配置是核心了,虽然看着字多。一定要看!!! 不懂思想干会用,懂皮毛没意思。

1.state MASTER表示该节点角色定义为MASTER

2.interface enp2s0是指虚拟机的网卡是enp2s0

3.virtual_router_id 11这项配置非常重要,如果是多个节点的这项配置的值必须一样,否则会出现问题。mcast_src_ip 192.168.0.145这项配置是指定当前节点的真实IP。

4.priority 100的意思是优先级,这里暂且设置为100,当然也可以是其它值。优先级在keepalived实现高可用方面起着至关重要的作用.。

5.keepalived服务器就是根据优先级来选择当前提供服务的设备的,192.168.0.145刚开始设置的优先级是100,如果有多个节点。则把第二个节点刚开始设置的优先级是90,依此类推设置,逐渐少20。这样keepalived一开始去检查优先级,发现192.168.0.145这台设备的优先级高,于是便让该设备对外提供服务,当192.168.0.145这台设备的nginx挂掉后,由于nginx_check.sh脚本每两秒执行一次,发现第二台节点这个节点没有nginx进程后便尝试进行重新启动nginx,如果重新启动还是不行的话,就杀掉所有的keepalived进程,并告诉keepalived服务器192.168.0.145这个节点的nginx挂掉了同时会把这个节点的优先级减20,从而优先级变为了80,这样下次keepalived来检查优先级发现第二个节点的优先级比较高(90),于是便让第二这个节点对外提供服务,同理,这个节点发生故障的话,也会再去让另外一个节点来提供服务,这就实现了高可用。

6.virtual_ipaddress {

虚拟ip段

}

11. service keepalived start;

查看你配置的虚拟ip

12.用虚拟ip访问测试即可

邮箱:yzydevops@163.com

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表