nginx+apache+mysql+php+memcached+squid集群web环境 (1/6)

 客户端 | ===> |负载均衡器| ===> |反向代理/缓存| ===> |web服务器| ===> |数据库教程服务器|
-------- ---------- ------------- --------- ------------
nginx squid apache,php mysql教程
eaccelerator/memcache准备工作:
引用服务器: intel(r) xeon(tm) cpu 3.00ghz * 2, 2gb mem, scisc 硬盘
操作系统:centos4.4,内核版本2.6.9-22.elsmp,gcc版本3.4.4
软件:
apache 2.2.3(能使用mpm模式)
php 5.2.0(选用该版本是因为5.2.0的引擎相对更高效)
eaccelerator 0.9.5(加速php引擎,同时也可以加密php源程序)
memcache 1.2.0(用于高速缓存常用数据)
libevent 1.2a(memcache工作机制所需)
mysql 5.0.27(选用二进制版本,省去编译工作)
nginx 0.5.4(用做负载均衡器)
squid-2.6.stable6(做反向代理的同时提供专业缓存功能)

二、编译安装
一、) 安装nginx
1.) 安装
nginx发音为[engine x],是由俄罗斯人igor sysoev建立的项目,基于bsd许可。据说他当初是f5的成员之一,英文主页:http://nginx.net。俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡。
nginx的编译参数如下:

[root@localhost]#./configure --prefix=/usr/local/server/nginx --with-openssl=/usr/include
--with-pcre=/usr/include/pcre/ --with-http_stub_status_module --without-http_memcached_module
--without-http_fastcgi_module --without-http_rewrite_module --without-http_map_module
--without-http_geo_module --without-http_autoindex_module
在这里,需要说明一下,由于nginx的配置文件中我想用到正则,所以需要 pcre 模块的支持。我已经安装了 pcre 及 pcre-devel 的rpm包,但是 ngxin 并不能正确找到 .h/.so/.a/.la 文件,因此我稍微变通了一下:

[root@localhost]#mkdir /usr/include/pcre/.libs/
[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.a
[root@localhost]#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.la
然后,修改 objs/makefile 大概在908行的位置上,注释掉以下内容:

./configure --disable-shared
接下来,就可以正常执行 make 及 make install 了。

2.) 修改配置文件 /usr/local/server/nginx/conf/nginx.conf
以下是我的 nginx.conf 内容,仅供参考:

#运行用户
user nobody nobody;
#启动进程
worker_processes 2;
#全局错误日志及pid文件
error_log logs/error.log notice;
pid logs/nginx.pid;
#工作模式及连接数上限
events {
use epoll;
worker_connections 1024;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型
include conf/mime.types;
default_type application/octet-stream;
#设定日志格式
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';
#设定请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#开启gzip模块
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
#设定access log
access_log logs/access.log main;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
#设定负载均衡的服务器列表
ups教程tream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的squid开启3128端口
server 192.168.8.1:3128 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}

首页 1 2 3 4 5 6 末页

时间: 2024-10-25 00:35:10

nginx+apache+mysql+php+memcached+squid集群web环境 (1/6)的相关文章

Nginx + Shiro + Ehcache 实现负载均衡集群(成绩报告查询系统)

项目介绍 最近在做一款产品,对外提供学生成绩报告的查询,支付,查看以及下载等一系列功能,这里就简称成绩报告查询系统吧. 初步参赛人数十万左右,可能会存在相对高的并发同时在线,所以开发阶段就对负载均衡集群做了设计. 当然,涉及到负载均衡集群,就要考虑的Session存储的问题,由于项目本身使用了Ehcache做本地缓存,Shiro对其做了很好的封装,并且Ehcache也是支付分布式缓存同步的.所以,采用Ehcache做session存储暂且是一种实施方案. 关于Ehcache分布式缓存见:http

开源集群计算环境Apache Spark

Apache Spark简称Spark,Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载. Apache Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架.与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对

Squid集群做CDN全网加速配置分享_Linux

主服务器群,然后在利用Squid逆向缓存web80端口来加速自己的网站.各大门户网站象163,sina,chinaitlab之类基本都是使用的这种技术,好处是大大的有.比如加速了网络和可以防黑客(因为他们见到的都是CDN的主机)这是利用Squid逆向集群模式做的一种应用 网络环境: 主服务器群:源Web服务器群 位于公网ip:220.XXX.XXX.X port:80(后台才是WEB的服务器) 注: 要保证TCP80,UDP3130在防火墙上是开的(供icp_port通讯使用,多台Squid集群

平台-关于hadoop的集群开发环境配置

问题描述 关于hadoop的集群开发环境配置 各位前辈好!最近遇到了点疑问,hadoop的集群配置的主节点是要搭在服务器上吗?我们老师要我们做一个项目,需要配置hadoop平台,什么也不懂,所以来这里请教大家== 解决方案 http://blog.csdn.net/flyqwang/article/details/7244552/http://www.51document.com/1365084386796.htmlhttp://www.open-open.com/lib/view/132853

集群下并行难题-系统集群的环境下出现的问题

问题描述 系统集群的环境下出现的问题 现在有这么一个情况:一个终端每10秒发出一笔数据,这样的终端有几千个,终端的数据假设有个A类来保存,在我的cache中有一个List来保存数据列表,数据的格式是,如果终端发送数据的时间距离上次发来的时间超过三分钟,那么我记录新记录,否则只更新时间,这种情况在单机环境下没有问题,因为在一台服务器的队列中是有先后顺序,但是如果到了集群环境,上一笔数据访问到第一台服务器,本次数据访问到第二台服务器,这个时候会出现并行计算情况,导致时间段获取不正确,如何解决

详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南_nginx

Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器.也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能.而最常见的就是使用Nginx实现负载均衡. Nginx与其他服务器的性能比较: Tomcat服务器面向Java语言,是重量级的服务器,而Nginx是轻量级的服务器.Apache服务器稳定.开源.跨平台,但是Apache服务器不支持高并发,Nginx能支持处理百万级的TC

Nginx + Shiro + Redis 实现负载均衡集群(成绩报告查询系统升级篇)

写在开始 上一篇讲到使用Ehcache实现分布式缓存,尽管其直接操作JVM内存,速度快,效率高,但是缓存同步麻烦,分布式集群配置不方便,如果应用服务器重启会丢失缓存数据. 下面来分析一下Redis做系统session缓存实现. Redis介绍 Redis是一个key-value存储系统.和Memcached类似, 它的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它支持存储的value类型相对更多,包括string(字符串

RedHat AS4-U2下Mysql 5.0.22集群配置

最近看到过很多关于cluster的资料,一直在研究linux系统级的负载均衡和高可用,但是还没有完全成功,只是实现了一些简单的服务:今天在搜集资料中看到有关mysql的cluster,看上去不是很复杂,就花了一个下午的时间研究研究,参考了Nanu前辈的MySQL集群配置步骤,一个简单的集群算是成功了.但是有一点我没搞懂,是不是mysql集群配置完成后,只能同步数据库中的表,而不能同步整个库?请高手指点一二,谢谢! 一.实验环境 1. Linux操作系统版本. RedHat AS4-U2 2. M

Apache+tomcat负载均衡以及集群环境配置安装包+详细教程

问题描述 一:软件环境(所需全部软件已经一起打包,安装使用即可)1.Apache2.0.65(一个)2.tomcat6.0.41(二个或者两个以上)3.mod_jk.so(Apache与Tomcat的连接器,并藉此附带提供集群和负载均衡的功能)二:负载均衡配置(1)Apache配置1.把Apache安装在D:/ApacheGroup/Apache2 解压两分Tomcat,分别在D:/ApacheGroup/apache-tomcat-6.0.41_1,D:/ApacheGroup/apache-