ECstore企业版集群部署文档.docx
- 文档编号:9108202
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:63
- 大小:245.69KB
ECstore企业版集群部署文档.docx
《ECstore企业版集群部署文档.docx》由会员分享,可在线阅读,更多相关《ECstore企业版集群部署文档.docx(63页珍藏版)》请在冰豆网上搜索。
ECstore企业版集群部署文档
ECstore企业版集群部署文档
2011.03
1文档历史
Date
Version
Description
Author
2011-03
0.5
初始版本
shopex
2011-03
0.7
结构完善
shopex
2011-03
0.8
mysql配置完善
shopex
2011-03
1.0
补充完善
shopex
2011-03
1.1
补充完善
shopex
2目的
此文档为ECstore企业版服务器应用部署方案。
∙完成底层环境架构
∙搭建ECstore系统
部署将为矩阵服务提供高可用服务器架构。
3系统架构图
3.1.架构图
3.2.应用部署图
3.3.部署说明
将应用部署可以切分为以下几个部分:
∙web服务器组
∙varnish反向代理服务器组
∙MySQL数据库服务器组
∙KV数据库服务器组
∙Memcached服务器组
∙图片服务器组
∙反向代理服务器
∙Sphinx搜索服务器组
∙备份服务器组
下面就以上几组应用进行相应的说明:
∙web服务器组web服务器组为应用提供web服务,web服务器存放的是提供服务的源代码。
web服务器通过A10负载均衡器分发调度相应的应用。
web服务器通过连接数据库提供web服务。
每台web服务器都存放的是服务代码的副本,且保证部署文件一致性,又codepush服务器提供分发和部署。
∙varnish反向代理服务器组高效动态页缓存系统(未使用)
∙MySQL数据库服务器组数据库服务器组为MYSQL一主双从模式,为用户提供数据持久层服务。
∙KV数据库服务器组为ecstore提供key-value存储服务,采用Flare+TokyoCabinet
∙Memcached服务器组通过缓存mysql数据持久层数据,减轻mysql的压力,存储mysql的数据。
∙图片服务器组图片存储服务器组为存储为商品图片,采用NFS+sersync方案
∙反向代理服务器使用squid为图片提供静态文件缓存服务。
∙Sphinx搜索服务器组为前台搜索提供索引服务
∙备份服务器组备份用户数据,数据包括mysql的切片备份,web应用的服务器和Flare的冷备数据。
4硬件
总共12台服务器,详情见下表:
品牌
型号
规格
数量
DELL
未知
硬盘134Gcpu8核内存8G
10
DELL
未知
硬盘1Tcpu16核内存24G
2
5网络
ip列表
内网ip
外网IP
应用说明
OS
主机名
root帐号
VIP
192.168.18.15
web服务器预留
as5(64位)
w018015.isv
admin
192.168.18.1
web服务器
as5(64位)
w018002.isv
admin
192.168.18.2
web服务器
as5(64位)
w018002.isv
admin
192.168.18.3
web服务器
as5(64位)
w018003.isv
admin
192.168.18.4
web服务器
as5(64位)
w018004.isv
admin
192.168.18.5
图片服务器
as5(64位)
w018005.isv
admin
192.168.18.6
图片服务器
as5(64位)
w018006.isv
admin
192.168.18.7
flare主
as5(64位)
w018007.isv
admin
192.168.18.8
flare从
as5(64位)
w018008.isv
admin
192.168.18.9
备份服务器
as5(64位)
w018009.isv
admin
192.168.18.10
mysql从服务器
as5(64位)
w018010.isv
admin
192.168.18.11
mysql主服务器
as5(64位)
w018011.isv
admin
192.168.18.12
mysql从服务器
as5(64位)
w018012.isv
admin
6软件
6.1.底层环境
6.1.1.时间同步
加入crontab
cront-e
*/5****ntpdate133.100.9.2>/dev/null
6.1.2.web服务器组
机器ip:
∙192.168.18.1
∙192.168.18.2
∙192.168.18.3
∙192.168.18.4
∙192.168.18.15
6.1.2.1.安装nginx
./configure--user=admin--group=admin--prefix=/home/admin/apps/nginx--with-http_stub_status_module--with-http_ssl_module--with-http_gzip_static_module
make-j8
主配置文件:
/home/admin/apps/nginx/conf/nginx.conf
useradminadmin;
worker_processes4;
error_loglogs/nginx_error.logcrit;
worker_rlimit_nofile65535;
events
{
useepoll;
worker_connections65535;
}
http
{
includemime.types;
default_typeapplication/octet-stream;
server_names_hash_bucket_size128;
client_header_buffer_size32k;
large_client_header_buffers432k;
client_max_body_size8m;
sendfileon;
tcp_nopushon;
tcp_nodelayon;
keepalive_timeout0;
fastcgi_connect_timeout300;
fastcgi_send_timeout300;
fastcgi_read_timeout300;
fastcgi_buffer_size64k;
fastcgi_buffers464k;
fastcgi_busy_buffers_size128k;
fastcgi_temp_file_write_size128k;
gzipon;
gzip_min_length1k;
gzip_buffers48k;
gzip_http_version1.1;
gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml;
gzip_disable"MSIE[1-6]\.";
log_formataccess'$remote_addr-$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent"$http_x_forwarded_for';
includesite/*.conf;
}
phpfastcgi为了减少tcp连接,采用unixsocket模式提供服务,配置文件:
/home/admin/apps/nginx/conf/php_fcgi.conf
#fastcgi_pass127.0.0.1:
9000;
fastcgi_passunix:
/tmp/php_fcgi.sock;
fastcgi_paramGATEWAY_INTERFACECGI/1.1;
fastcgi_paramSERVER_SOFTWAREnginx;
fastcgi_paramQUERY_STRING$query_string;
fastcgi_paramREQUEST_METHOD$request_method;
fastcgi_paramCONTENT_TYPE$content_type;
fastcgi_paramCONTENT_LENGTH$content_length;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
fastcgi_paramSCRIPT_NAME$fastcgi_script_name;
fastcgi_paramREQUEST_URI$request_uri;
fastcgi_paramDOCUMENT_URI$document_uri;
fastcgi_paramDOCUMENT_ROOT$document_root;
fastcgi_paramSERVER_PROTOCOL$server_protocol;
fastcgi_paramREMOTE_ADDR$remote_addr;
fastcgi_paramREMOTE_PORT$remote_port;
fastcgi_paramSERVER_ADDR$server_addr;
fastcgi_paramSERVER_PORT$server_port;
fastcgi_paramSERVER_NAME$server_name;
#PHPonly,requiredifPHPwasbuiltwith--enable-force-cgi-redirect
fastcgi_paramREDIRECT_STATUS200;
pathinfo修正文件:
/home/admin/apps/nginx/conf/pathinfo.conf
set$real_script_name$fastcgi_script_name;
if($fastcgi_script_name~"(.+?
\.php)(/.*)"){
set$real_script_name$1;
set$path_info$2;
}
fastcgi_paramSCRIPT_FILENAME$document_root$real_script_name;
fastcgi_paramSCRIPT_NAME$real_script_name;
fastcgi_paramPATH_INFO$path_info;
站点配置文件
server
{
listen8080default;
server_name_;
indexindex.htmlindex.htmindex.php;
root/home/admin/;
#rewrite
#location/{
#if(!
-e$request_filename){
#rewrite^/(.+\.(html|htm|xml|shopadmin))$/index.php/$1last;
#}
#}
error_page403
error_page404
error_page500
error_page502
error_page503
location~.*\.php[/]?
{
includephp_fcgi.conf;
includepathinfo.conf;
}
location~.*\.(gif|jpg|jpeg|png|bmp|swf)
{
expires30d;
}
location~.*\.(js|css)
{
expires1h;
}
access_log/home/admin/apps/nginx/logs/chaoshi_tmall_com_access.log;
}
6.1.2.2.php-fpm
预安装包
yum安装包
yuminstalllibiconv\
libmcryptn\
mhash\
mcrypt\
freetype\
freetype-devel\
libjpeg-devel\
libtool-ltdl\
libtool-ltdl-devel\
libjpeg-devel\
libpng-devel\
libmcrypt\
libmcrypt-devel-y
加密库
yuminstalllibmcrypt
编译
tarzxvflibmcrypt-2.5.8.tar.gz
cdlibmcrypt-2.5.8/
./configure
make
makeinstall
/sbin/ldconfig
cdlibltdl/
./configure--enable-ltdl-install
make
makeinstall
cd../../
ln-s/usr/local/lib/libmcrypt.la/usr/lib/libmcrypt.la
ln-s/usr/local/lib/libmcrypt.so/usr/lib/libmcrypt.so
ln-s/usr/local/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4
ln-s/usr/local/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8
hash函数库
yum
yuminstallmhash
编译
tarzxvfmhash-0.9.9.9.tar.gz
cdmhash-0.9.9.9
./configure
make
makeinstall
ln-s/usr/local/lib/libmhash.a/usr/lib/libmhash.a
ln-s/usr/local/lib/libmhash.la/usr/lib/libmhash.la
ln-s/usr/local/lib/libmhash.so/usr/lib/libmhash.so
ln-s/usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2
ln-s/usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1
cd..
加密程序
yum
yummcrypt
编译
tarzxvfmcrypt-2.6.8.tar.gz
cdmcrypt-2.6.8/
/sbin/ldconfig
./configure
make
makeinstall
cd../
异步事件库
yum
yuminstalllibevent.x86_64libevent-devel.x86_64
编译
MySQL库
yum
yuminstallmysql.x86_64mysql-devel.x86_64
给mysqlclient库建立一个符号链接
ln-sv/usr/lib64/mysql/libmysqlclient.so/usr/lib/libmysqlclient.so
编译安装php
tarxzvfphp-5.2.13.tar.gz
gzip-cdphp-5.2.13-fpm-0.5.13.diff.gz|patch-dphp-5.2.10-p1
cdphp-5.2.13
./configure\
--prefix=/home/admin/apps/php\
--with-config-file-path=/home/admin/apps/php\
--with-gd\
--enable-gd-native-ttf\
--with-mysql=/home/mysql\
--with-iconv-dir\
--with-freetype-dir\
--with-png-dir\
--with-zlib\
--with-libxml-dir\
--enable-xml\
--disable-debug\
--disable-rpath\
--enable-discard-path\
--enable-safe-mode\
--enable-bcmath\
--enable-shmop\
--enable-sysvsem\
--enable-inline-optimization\
--with-curl\
--with-curlwrappers\
--enable-mbregex\
--enable-fastcgi\
--enable-fpm\
--with-iconv=/usr/local\
--enable-force-cgi-redirect\
--enable-mbstring\
makeZEND_EXTRA_LIBS='-liconv'
makeinstall
cpphp.ini-dist/etc/php.ini
编译安装PHP5扩展模块
1)memcache客户端
tarzxvfmemcache-2.2.5.tgz
cdmemcache-2.2.5/
/home/admin/php/bin/phpize
./configure--with-php-config=/home/admin/php/bin/php-config
make
makeinstall
cd../
2)加速器eaccelerator
tarjxvfeaccelerator-0.9.5.3.tar.bz2
cdeaccelerator-0.9.5.3/
/usr/local/webserver/php/bin/phpize
./configure--enable-eaccelerator=shared--with-php-config=/usr/local/php/bin/php-config
make
makeinstall
cd../
3)PDO
tarzxvfPDO_MYSQL-1.0.2.tgz
cdPDO_MYSQL-1.0.2/
/usr/local/webserver/php/bin/phpize
./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-mysql=/usr/local/mysql
make
makeinstall
cd../
4)ImageMagick
tarzxvfImageMagick.tar.gz
cdImageMagick-6.5.1-2/
./configure
make
makeinstall
cd../
tarzxvfimagick-2.2.2.tgz
cdimagick-2.2.2/
/usr/local/php/bin/phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make
makeinstall
cd../
5)sphinx
wget
安装libsphinxclient:
提取sphinx源码包api目录中的libsphinxclient
vimsphinxclient.c
setnu
找到1216行
staticvoidsock_close(intsock)
改为
voidsock_close(intsock)
./configure--prefix=/usr/local/libsphinxclient
make&makeinstall
/home/admin/apps/php/bin/peclinstallsphinx
php.ini添加:
[sphinx]
extension=sphinx.so
6)scws
wget
wget
tarxjvfscws-1.1.3.tar.bz2
cdscws-1.1.3
./configure--prefix=/home/admin/apps/scws
make
makeinstall
tarxjvfscws-dict-chs-utf8.tar.bz2-C/home/admin/apps/scws/etc
cd/opt/shopex/scws-1.1.3/phpext/
/home/admin/apps/php/bin/phpize
./configure--with-scws=/home/admin/apps/scws--with-php-config=/home/admin/apps/php/bin/php-config
make
makeinstall
添加php.ini
[scws]
extension=scws.so
scws.default.charset=utf-8
scws.default.fpath=/home/admin/apps/scws/etc
php-fpm配置文件
#vim/home/admin/apps/php/etc/php-fpm.conf
xmlversion=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ECstore 企业版 集群 部署 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)