服务器的大用户量的承载方案 + ngxin 虚拟目录

上传人:鲁** 文档编号:455655859 上传时间:2023-05-26 格式:DOCX 页数:20 大小:15.20KB
返回 下载 相关 举报
服务器的大用户量的承载方案 + ngxin 虚拟目录_第1页
第1页 / 共20页
服务器的大用户量的承载方案 + ngxin 虚拟目录_第2页
第2页 / 共20页
服务器的大用户量的承载方案 + ngxin 虚拟目录_第3页
第3页 / 共20页
服务器的大用户量的承载方案 + ngxin 虚拟目录_第4页
第4页 / 共20页
服务器的大用户量的承载方案 + ngxin 虚拟目录_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《服务器的大用户量的承载方案 + ngxin 虚拟目录》由会员分享,可在线阅读,更多相关《服务器的大用户量的承载方案 + ngxin 虚拟目录(20页珍藏版)》请在金锄头文库上搜索。

1、服务器的大用户量的承载方案一、前言 二、编译安装 三、 安装MySQL、memcache 四、 安装Apache、PHP、eAccelerator、php-memcache 五、 安装Squid 六、后记 一、前言,准备工作当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。我们采用的架构图如下:引用- - - - -| 客户端 | = |负载均衡器| = |反向代理/缓存| = |WEB服务器| = |数据库服务器|- - - - -Nginx Squid Apache,PHP MySQLeAccelerator/

2、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(选用二进制版本,省去编译工作)Ngi

3、nx 0.5.4(用做负载均衡器)squid-2.6.STABLE6(做反向代理的同时提供专业缓存功能)二、编译安装一、) 安装Nginx1.) 安装Nginx发音为engine x,是由俄罗斯人Igor Sysoev建立的项目,基于BSD许可。据说他当初是F5的成员之一,英文主页:urlhttp:/ -prefix=/usr/local/server/nginx -with-openssl=/usr/include -with-pcre=/usr/include/pcre/ -with-http_stub_status_module -without-http_memcached_modul

4、e -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 文件,因此我稍微变通了一下:rootlocalhost#mkdir /usr/include/pcre

5、/.libs/rootlocalhost#cp /usr/lib/libpcre.a /usr/include/pcre/.libs/libpcre.arootlocalhost#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以下是

6、我的 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;#设定日志格式lo

7、g_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_hea

8、der_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 logaccess_log logs/access.log main;client_header_timeout 3m;client_body_timeout 3m;send_timeout 3m;sendfile on;tcp_nop

9、ush on;tcp_nodelay on;keepalive_timeout 65;#设定负载均衡的服务器列表upstream 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;#设定虚拟主机server listen 80;server_name 192.168.8.1 gb2312;#设定本虚拟主机的访问日志access_log logs/.acc

10、ess.log main;#如果访问 /img/*, /js/*, /css/* 资源,则直接取本地文件,不通过squid#如果这些文件较多,不推荐这种方式,因为通过squid的缓存效果更好location /(img|js|css)/ root /data3/Html;expires 24h;#对 / 启用负载均衡location / proxy_pass urlhttp:/mysvr/url;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_hea

11、der X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;#设定查看Nginx状态的地址location /Nginx

12、Status stub_status on;access_log on;auth_basic NginxStatus;auth_basic_user_file conf/htpasswd;备注:conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可,内容大致如下:3.) 查看 Nginx 运行状态输入地址 urlhttp:/192.168.8.1/NginxStatus/url,输入验证帐号密码,即可看到类似如下内容:Active connections: 328server accepts handled requests9309 8982 2889

13、0Reading: 1 Writing: 3 Waiting: 324第一行表示目前活跃的连接数第三行的第三个数字表示Nginx运行到当前时间接受到的总请求数,如果快达到了上限,就需要加大上限值了。第四行是Nginx的队列状态三、 安装MySQL、memcache 1.) 安装MySQL,步骤如下:rootlocalhost#tar zxf mysql-standard-5.0.27-linux-i686.tar.gz -C /usr/local/serverrootlocalhost#mv /usr/local/server/mysql-standard-5.0.27-linux-i686

14、/usr/local/server/mysqlrootlocalhost#cd /usr/local/server/mysqlrootlocalhost#./scripts/mysql_install_db -basedir=/usr/local/server/mysql -datadir=/usr/local/server/mysql/data -user=nobodyrootlocalhost#cp /usr/local/server/mysql/support-files/my-f /usr/local/server/mysql/data/f2.) 修改 MySQL 配置,增加部分优化参数,如下:rootlocalhost#vi /usr/local/server/mysql/data/f主要内容如下:mysqldbasedir = /usr/local/server/mysqld

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号