在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一 ·项目环境centos7/8服务器8台、nginx 1.21.1、ab、nfs4、 二· 项目描述构建一个基于nginx的4/7层负载均衡的web集群项目 模拟企业的业务环境达到构建一个高并发,高可用的web集群。 通过压力测试来检验整个集群的性能,找出瓶颈,不断的去优化。 三· 项目步骤1.安装安装部署ansible服务,和其他的服务器之间建立免密通道,编写playbook去安装部署nginx和zabbix 2.配置通过ansible上去部署nginx和zabbix,配置好nginx长连接,并发数,和worker的进程数,限制速度以及zabbix的相关配置等,上传网站内容(搭建一个WordPress的博客系统或者flask接口网站等) 3.实现负载均衡使用2台服务器做双vip的负载均衡器,使用nginx的4/7层负载均衡功能实现,调度算法使用加权轮询 4.搭建服务器搭建nfs服务器,保障网站的数据一致性,并且设置后端的real-server/backend server开机自动挂载 5.压力测试在客户机上使用ab软件进行压力测试 6.监控在zabbix/prometheus监控平台上添加相关的服务器和监控项,监控整个web集群的性能 --》zabbix 7.高可用使用keepalived软件给负载均衡器做高可用,防止单点故障 --》keepalived 8.域名解析搭建一个dns服务器,给整个web集群进行域名解析,通过dns域名解析负载均衡将2个vip绑定到一个域名给用户访问使用,从而将流量导入到不同的负载均衡器上 9.提升性能尝试去优化整个web集群,提升性能:内核参数,nginx参数的优化,考虑加缓存等措施 10.使用ansible编写playbook尝试全部使用ansible编写playbook安装所有的软件: nginx,zabbix,keepalived,ab,nfs等 四· 项目总结1.慢慢理解了集群的概念,从1台到多台 五·搭建WEB注意1.web网站的内容,需要你确定: 博客,接口网站,测试页面等 2.内核参数的优化: [root@docker ~]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 net.ipv4.conf.all.promote_secondaries = 1 net.ipv4.conf.default.promote_secondaries = 1 net.ipv6.neigh.default.gc_thresh3 = 4096 net.ipv4.neigh.default.gc_thresh3 = 4096 kernel.softlockup_panic = 1 net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 kernel.shmmax = 68719476736 kernel.printk = 5 kernel.sysrq = 1 kernel.numa_balancing = 0 [root@docker ~]# ulimit unlimited [root@docker ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 14826 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 100001 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 14826 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited [root@docker ~]# ab -c 2000 -n 100000 http://192.168.0.92/ 到此这篇关于构建一个基于nginx的web集群项目的文章就介绍到这了,更多相关nginx web集群项目内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论