nginx+tomcat+redis+mysql搭建与优化

高性能的服务器的架设 对于高性能网站 ,请求量大,如何支撑? 一方面,要减少请求 对于开发人员—-合并css, 背景图片, 减少mysql查询等. 2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询. 3: 利用cdn来响应请求 4: 最终剩下的,不可避免的请求—-服务器集群+负载均衡来支撑.     所以,来到第4步后,就不要再考虑减少请求
摘要由CSDN通过智能技术生成

高性能的服务器的架设

对于高性能网站 ,请求量大,如何支撑? 一方面,要减少请求 对于开发人员—-合并css, 背景图片, 减少mysql查询等.
2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询.
3: 利用cdn来响应请求
4: 最终剩下的,不可避免的请求—-服务器集群+负载均衡来支撑.
    所以,来到第4步后,就不要再考虑减少请求这个方向了. 而是思考如何更好的响应高并发请求.
    大的认识——-既然响应是不可避免的,我们要做的是把工作内容”平均”分给每台服务器. 最理想的状态 每台服务器的性能都被充分利用.

环境准备

win7 Intel i7 4710MQ CPU 2.50GHz 64bit 8G内存,系统安装了oracle、mysql、两台虚拟机(centos6,centos1安装了nginx、redis,centos2安装了httpd(使用ab进行http压力测试),sysbench)
环境部署

nginx

安装nginx我配置了一致性hash(与mem集成使用)、status(压测统计使用)、redis模块(与redis集成使用)

[root@centos1 nginx]# ./sbin/nginx -V
nginx version: nginx/1.10.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/nginx/nginx_module_hash --with-http_stub_status_module --add-module=/usr/local/nginx/ngx_http_redis-0.3.8
[root@centos1 nginx]# 

upstream zmy_zh {
  server 192.168.1.100;
}
//redis集群,最好使用lua配合,进行redis集群的动态配置以及查找
//lua暂未开始学习
upstream redis_cluster {
   server 192.168.106.130:7000;
   server 192.168.106.130:7001;
   server 192.168.106.130:7002;
   #server 192.168.106.130:7003;
   #server 192.168.106.130:7004;
   #server 192.168.106.130:7005;
   keepalive 100;
}
//memcached集群
upstream mem_cluster {
   //一致性哈希算法
   consistent_hash $request_uri;
   server 192.168.106.130:11211;
   server 192.168.106.130:11212;
   server 192.168.106.130:11213;
}

server {
   listen       80;
   server_name  192.168.106.130;

   #charset koi8-r;

   access_log  logs/zh.access.log  main;
   error_log logs/zh.error.log info;

   location ~ /redis {
       proxy_pass http://zmy_zh;
       proxy_redirect off;
       proxy_set_header host 192.168.1.100;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       index succ.jsp;
   }
location ~ / {
       set $redis_key "$uri";
       redis_pass redis_cluster;
       error_page 404 redis;//如果缓存未命中则去后台服务器查询
   }
  //压测时,hginx统计模块
   location = /status {
       stub_status on;
       access_log off;
   }

   # redirect server error pages to the static page /50x.html
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   html;
   }
}

redis

使用的版本是redis3+,redis3以后提供了强大的集群机制以及自动容错机制,一些自定义的脚本

start.sh


                
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您提到的keepalived、nginxtomcatredismysql,这些是常用于构建高可用和负载均衡的Web应用架构的关键组件。 1. Keepalived:Keepalived是一种开源的高可用解决方案,可以提供IP地址和服务的故障转移。它通常与负载均衡器(如Nginx)一起使用,以确保当主服务器故障时,备份服务器可以接管服务。 2. NginxNginx是一款高性能的开源Web服务器和反向代理服务器。它可以作为负载均衡器,在多个后端服务器(如TomcatRedisMySQL)之间分发请求,并提供静态文件的高效传输。 3. TomcatTomcat是Java Servlet容器,用于部署和运行Java Web应用程序。它可以作为应用服务器与Nginx配合使用,通过反向代理将请求分发到多个Tomcat实例,以实现负载均衡和高可用性。 4. RedisRedis是一种基于内存的开源键值存储数据库,被广泛用于缓存、会话存储和消息队列等场景。在Web应用架构中,Redis可以作为缓存层,提高数据读取速度,并减轻后端数据库(如MySQL)的负载。 5. MySQLMySQL是一种流行的开源关系型数据库管理系统,常用于存储应用程序的持久化数据。它可以与Tomcat结合使用,作为后端数据库存储和管理数据。 以上是对keepalived、nginxtomcatredismysql的简要介绍,它们在Web应用架构中扮演着不同的角色,以提供高可用、高性能和负载均衡的服务。如果您对其中任何一个组件有更具体的问题,我很乐意为您解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值