nginx集群配置

作者:夕阳小子

时间:2017-5-1

优化思路:

Nginx层面:

解决: nginx.conf 下面: work_connection 加大

worker_connections 10240;

Worker_rlimit_nofiles 10000;

Keepalive_timeout 0;

系统层面

1: 内核层面,加大连接数,并加快tcp回收

2: mysql层面,增大连接数

3: php层面,用长连接,节省连接数

4: 用memcached缓存,减轻mysql负担

A服务器:nginx

B服务器:mysql

C服务器:php-fpm进程服务器

D服务器:memcached服务器5-8个

A,B,C,D四台服务器防火墙全部关掉 service iptables stop,防火墙用硬件防火墙

每台服务器都做以下优化:

系统内核层面:

net.core.somaxconn = 4096 允许等待中的监听

net.ipv4.tcp_tw_recycle = 1 tcp连接快速回收

net.ipv4.tcp_tw_reuse = 1 tcp连接重用

net.ipv4.tcp_syncookies = 0 不抵御洪水攻击

ulimit -n 30000

安装php-fpm

php-fpm配置

分别增加5个php-fpm配置文件:php-fpm.conf php-fpm9001.conf php-fpm9002.conf php-fpm9003.conf php-fpm9004.conf

分别做一下配置,监听不同端口

Pm = static 让fpm进程始终保持,不要动态生成

Pm.max_children= 32 始终保持的子进程数量

写一个shell脚本方便全部php-fpm进程

Nginx服务器

相关优化

Nginx层面:

解决: nginx.conf 下面: work_connection 加大

worker_connections 10240;

Worker_rlimit_nofiles 10000;

Keepalive_timeout 0;

memcahced服务器

安装

1. 查找Memcached

yum search memcached

首先检查yum软件仓库中是否存在memcached,如果有 直接进入第3步安装即可,否则执行第2步。

2. 安装第三方软件库(可选)

标准的CentOS5软件仓库里面是没有memcache相应的包的,所以,我们的第一步就是导入第三方软件仓库,这里推荐的是RpmForge(RpmForge库现在已经拥有超过10000种的CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个第三方软件库),安装方法如下:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.rf.src.rpm

rpm -ivh rpmforge-release-0.5.2-2.rf.src.rpm

3.安装Memcached

yum -y install memcached

4.验证安装

memcached -h

/etc/rc.d/init.d/memcached status

5. 查看配置文件

cat /etc/sysconfig/memcached

可以根据情况修改相关配置参数:

PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS=""

6.启动memcached

/etc/rc.d/init.d/memcached start

nginx 配置

Mysql服务器

数据准备:

大概12w的数据

代码准备:bench.php

接下来进行压力测试

分别用两台服务的apache ab压力测试工具进行测试:目标是3000个并发,50w个请求

时时观测:status

测试结果:80%-90%响应在3-8秒之间,整个nginx集群负载还是很不错的;仅仅是做了简单的压力测试,在实际的业务场景中,还需要具体的问题分析,找到问题所在,看是服务器瓶颈还是系统瓶颈,或者是软件(nginx,mysql,php....),再进行相关的优化,把最快的响应给用户,就是我们的目标。

时间: 2024-08-04 07:49:48

nginx集群配置的相关文章

Centos Keepalived-Ha集群+Lvs-DR+Nginx集群配置

背景介绍 我们都知道一台服务器能提供的资源是有限的,如果想打破这个限制,只有两个办法,一个是购买硬件,提升服务器性能,但是性价比过高,而第二种方法这则是,使用集群软件让两台服务器处理一个服务的不同请求,分带单台服务器的负载,从而提升性能,实现这一的软件开源著名的有Nginx或者Lvs,这里我们使用的是LVS,但是lvs需要一个调度服务器,这样调度服务器就是一个集训的单点故障,一旦调度服务器出现故障,整个集群便崩溃,所以我们需要两台调度节点,一旦一个调度节点损坏,那么另一台调度节点开始工作,这里我

nginx 集群配置方式 (一)

我在本机装了3个虚拟机, 3个虚拟机都部署了相同的项目 地址分别为 192.168.20.133:8080 192.168.20.135:8080 192.168.20.136:8080 ngxin安装在133上, 重点配置如下: 因为我135 136 的权重为2, 133的权重为1 , 我开着3个日志, 每次访问到哪个机器,日志会有滚动来确定访问到哪台虚拟机了 一般顺序为 135 136 135 136 133   135 136 135 136 133    135 136 135 136

linux 下nginx 集群CAS单点登录实现

1.单点登录服务器CAS应用配置于tomcat下. 1)key生成: keytool -genkey -alias mycas -keyalg RSA -keysize 2048 -keystore /mnt/disk1/keys/mycas.keystore keytool -export -file /mnt/disk1/keys/mycas.crt -alias mycas -keystore /mnt/disk1/keys/mycas.keystore 2)CAS发布tomcat中ser

Nginx集群之基于Redis的WebApi身份验证

目录 1       大概思路... 1 2       Nginx集群之基于Redis的WebApi身份验证... 1 3       Redis数据库... 2 4       Visualbox虚拟机ubuntu下的redis部署... 3 5       编写.NET WebApi的OnAuthorization身份验证... 6 6       编写.NET WebApi的ActionFilterAttribute令牌验证... 8 7       编写.NET WebApi的服务端.

nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云主机), 如何隔离访问这些服务资源? 彼此又不影响呢? nginx来为你排忧解难, ^_^. 本文将介绍tomcat的简单配置和部署, 以及nginx作为反向代理, 如何分流. 基础架构: 不成文的约定: 1). 一个tomcat容器部署一个webapp应用实例 2). url根目录访问webapp

Nginx+Memcached+Tomcat集群配置

1.   Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的负载均衡,降低单个Web Server的负荷,以提高整体的性能与稳定性. 安装和配置Nginx的简单方式如下: 1)      下载并解压Nginx到本地目录:http://nginx.org/en/download.html 2)      对Nginx的配置主要是对它的配置文件/conf/nginx.conf的修改.如下链接是nginx.conf配置文件各个属性的详细说明:

基于Windows 配置 nginx 集群

1.下载 nginx 下载页面 : http://nginx.org/en/download.html 具体文件: http://nginx.org/download/nginx-1.7.0.zip 2.运行 nginx 解压第一步下载的 nginx-1.7.0.zip 压缩包 解压到 c:/nginx路径 2.1.修改监听端口 由于 80 端口已经配置IIS ,现修改nginx 监听端口 server { listen      80; 修改为 listen    5000; 2.2 .修改

Linux系统架构(LB-HA集群)-nginx负载均衡集群配置

nginx负载均衡集群配置 [[email protected] ~]# cd/usr/local/nginx/conf/vhosts/ [[email protected] vhosts]# ls default.conf  test.conf [[email protected] vhosts]# vim lb.conf upstream wang { server 192.168.137.21:80; server 192.168.137.23:80; } server { listen

Nginx+Tomcat+MemCached 集群配置手册

系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目    录 第1章   概述 1.1   目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架构时会应用很多高性能的产品, 本文主要描述互联网架构中门户应用的集群的配置工作,最终用以指导系统实施. 1.2   预期读者 本文档用于指导系统工程师进行系统实施工作,架构师和系统工程师应该通读本文档,选择适当版本用于自己的系统架构. 第2章   产品介绍 2.1   Nginx介绍 Nginx是一