来源:自学PHP网 时间:2014-10-14 00:06 作者: 阅读:次
[导读] ...
服务器的大用户量的承载方案
一、前言 二、编译安装 三、 安装mysql、memcache 四、 安装apache、PHP、eAccelerator、php-memcache 五、 安装Squid 六、后记 一、前言,准备工作 当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。 我们采用的架构图如下: 引用-------- ---------- ------------- --------- ------------ | 客户端 | ===> |负载均衡器| ===> |反向代理/缓存| ===> |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; #设定负载均衡的服务器列表 《nginx+apache+mysql+php+memcached+squid搭建门户网站》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/17832.html |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com