近日,某论坛因发展需要,增加了一台服务器,他们装好系统,叫我帮安装服务器环境,数据同步处理并希望做到负载均衡等。以下为过程记录。中间可能会有些过程被跳过,本来想写成教程的,但是年关已近,实在是太多事情需要处理。现只能先把记录发上来,以后看有没有时间重新整理成教程。
需要安装的软件:
Web服务器软件:Nginx 1.0.11
FCGI:php 5.2.17
数据库:MySQL 5.1.x(服务器A),MySQL 5.5(服务器B)
服务器优化:MemCached,eaccelerator,google-perftools
实时同步软件:rsync,inotify-tools
以下是两服务器可以相同的操作记录:
安装常见的依赖软件/lib/so:
yum install autoconfig automake make gcc gcc-c++ \
pcre-devel openssl-devel patch pam-devel libmcrypt-devel gd-devel -y
安装 google-perftools
先要安装 libunwind:
wget http:
//download
.savannah.gnu.org
/releases/libunwind/libunwind-0
.99.
tar
.gz
tar
zxvf libunwind-0.99.
tar
.gz
cd
libunwind-0.99/
CFLAGS=-fPIC .
/configure
--prefix=
/usr
make
CFLAGS=-fPIC
make
CFLAGS=-fPIC
install
cd
..
然后才开始安装google-perftools:
wget http:
//google-perftools
.googlecode.com
/files/google-perftools-1
.7.
tar
.gz
tar
xzvf google-perftools-1.7.
tar
.gz
cd
google-perftools-1.7
.
/configure
--prefix=
/usr
--
enable
-frame-pointers
make
make
install
cd
..
接着安装Nginx
为了优化Nginx,我使用了agentzh-memc-nginx-module模块和ngx_cache_purge,ngx_http_upstream_keepalive模块,ngx_cache_purge用来管理Nginx中缓存在Memcache中的内容而ngx_http_upstream_keepalive则用来保持Nginx与Memcached之间的连接,不用频繁建立和断开连接,也是优化Nginx吧。
不过,首先还是修改一下Nginx源码,这样可以使本来是5M大的Nginx内核减肥到只有680K大小!
wget http:
//nginx
.org
/download/nginx-1
.0.11.
tar
.gz
tar
xzvf nginx-1.0.11.
tar
.gz
cd
nginx*
cd
auto
/cc
vi
gcc
找到
# debug
CFLAGS="$CFLAGS -g"
然后在CFLAGS前面加上#号,得到:
# debug
#CFLAGS="$CFLAGS -g"
好了,保存退出。
回到 Nginx目录
cd ../..