首页 > 数据库 > MySQL > 正文

nginx+apache+mysql+php+memcached+squid搭建集群web环境

2019-11-02 16:12:23
字体:
来源:转载
供稿:网友
服务器的大用户量的承载方案

一、前言

二、编译安装

三、 安装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] '
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表