小型网站服务器构架方案.docx
- 文档编号:1302637
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:44
- 大小:1.03MB
小型网站服务器构架方案.docx
《小型网站服务器构架方案.docx》由会员分享,可在线阅读,更多相关《小型网站服务器构架方案.docx(44页珍藏版)》请在冰点文库上搜索。
小型网站服务器构建方案
43
目录
一. 网站平台的项目分析 1
1. 平台性能要求 1
2. 平台并发量分析 1
二. 网站平台集群架构设计 2
1. 网站平台集群服务器列表 2
2. 网站平台项目拓扑图 3
三. 构建服务器集群网站平台 3
1. 安装管理服务器admin 3
1.1安装并初始化系统 3
1.2管理服务器安装kickstar 4
2. 搭建反向代理主备服务器 7
2.1配置反向代理主服务器 7
2.2配置备反向代理服务器 10
3. 安装网站服务器web1和web2 11
3.1安装网站服务器web1 11
3.1安装网站服务器web2 18
4. 安装和配置数据库服务器mysql1和mysql2 18
4.1 安装和配置主mysql服务器mysql1 18
4.2 安装和配置从mysql服务器mysql2 21
4.3 测试web1服务器的mysql-proxy读写分离 21
4.4 实现mysql主从服务器的主从复制 22
5. 部署admin管理服务器和集群服务器 23
5.1安装部署sersync+rsync服务 23
5.2安装部署SVN+apache 27
5.3安装部署nagios集群监控 29
6. 部署早迅新闻网网站模板 35
四. 集群网站平台的安全调优 38
1. 代理nginx服务器安全调优 38
1.1 修改nginx配置文件参数 38
1.2安装fail2ban防暴力破解 38
2. web服务器安全调优 39
2.1修改apache配置文件参数 39
2.2使apache获取访问者ip 40
3. 数据库服务器安全调优 41
3.1 修改mysql性能参数 41
3.2 数据库文件的备份 42
3.3 网站目录的备份 44
一.网站平台的项目分析
1.平台性能要求
搭建一个本地新闻门户网站访问平台,该平台必须能符合以下几点:
性能需求
备注
满足一天3-5万PV访问量
应对高并发访问,具有负载均衡功能;
具有安全策略,抵御一定程度网络攻击
防暴力破解等
备份重要数据
脚本定时备份
监控平台数据,随时报告异常情况
服务器容灾功能
重要服务器主备运行
平台自动化运维,降低人工维护成本
shell脚本自动化管理
2.平台并发量分析
日访问3到5万PV是一个很小的流量访问。
可以假设三种访问情况:
(1)最差情况:
50000个请求同时发生,那么最大并发请求数应为50000
(2)最好情况:
50000个请求在时间上均匀地发起请求。
那么并发数为50000/24*60*60=0.579。
折合一分钟内之有34个请求,基本上就没有并发,只是单个执行。
(3)80/20原则:
但是在现实生活中,以上两种情况发生的概率很小。
根据统计学原理,采用80/20原则计算并发用户数。
50000*0.8/(8*60*60*0.2)=6.94,即每秒约有7个并发。
二.网站平台集群架构设计
1.网站平台集群服务器列表
根据项目需求和并发量,考虑网站的高可用性,和未来网站业务进步,访问并发量增大,平台的服务器集群表如下:
服务器名称
功能描述
ip地址
操作系统
硬件信息
m-proxy1
反向代理服务器
172.18.109.232
Centos6.5/64
双核/2G内存
m-proxy2
备反向代理服务器
172.18.109.234
Centos6.5/64
双核/2G内存
web1
网站服务器1
提供读写分离
172.18.109.235
Centos6.5/64
双核/2G内存
web2
网站服务器2
提供session共享
172.18.109.236
Centos6.5/64
双核/2G内存
mysql1
主数据库服务器
172.18.109.237
Centos6.5/64
双核/2G内存
mysql2
从数据库服务器
172.18.109.238
Centos6.5/64
双核/2G内存
admin
管理服务器
提供备份、装机、监控、web网页分发功能
172.18.109.239
Centos6.5/64
四核/8G内存
2.网站平台项目拓扑图
网站平台整体拓扑如下:
三.构建服务器集群网站平台
1.安装管理服务器admin
1.1安装并初始化系统
1)光盘安装操作系统
启动一台服务器,使用光盘安装CentOS6.5操作系统,安装类型为基本安装(安装过程略)。
2)初始化系统
操作系统安装完成后,配置/etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件。
修改IP为172.18.109.239,网关为172.18.109.254指向路由器的地址。
(集群服务器的所有数据通过路由器转发出去),网卡部分主要的配置如下:
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.18.109.239
NETMASK=255.255.255.0
GATEWAY=172.18.109.254
关闭防火墙和SElinux,修改主机名
chkconfigiptablesoff;/etc/init.d/iptablesstop
setenforce0;sed-i"s/^SELINUX\=enforcing/SELINUX\=disabled/g"/etc/selinux/config
vi/etc/sysconfig/network
修改HOSTNAME=localhost为HOSTNAME=admin
1.2管理服务器安装kickstart
由于服务器过多,可以在管理服务器上搭建kickstart来自动安装其余的集群服务器,减少手工操作。
1)安装配置DHCP服务器
使用yum安装DHCP服务器
yum-yinstalldhcp
2)配置dhcp服务器
cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf
vi!
$
添加下列参数:
subnet172.18.109.0netmask255.255.255.0{
range172.18109.100172.18.109.249;
optiondomain-name-servers61.139.2.69;
optionrouters172.18.109.254;
optionbroadcast-address172.18.109.255;
default-lease-time600;
max-lease-time7200;
next-server172.18.109.241;
filename“pxelinux.0”;
}
chkconfigdhcpdon
servicedhcpdstart
3)安装配置tftp
yum-yinstalltftptftp-serverxinetd
修改tftp配置文件,指定共享目录和开机启动
vi/etc/xinetd.d/tftp
修改的内容:
server_args=-s/tftpboot
disable=no
挂载光盘,并拷贝光盘中的文件和kickstart文件到tftp共享目录下,并配置引导启动文件,过程代码如下:
yum-yinstallsystem-config-kickstartglib2-delvel
mkdir/mnt/sr0
mkdir-p/tftpboot/pxelinux.cfg
mount/dev/sr0/mnt/sr0
cp/usr/share/syslinux/pxelinux.0/tftpboot/
cp/mnt/sr0/images/pxeboot/initrd.img/tftpboot/
cp/mnt/sr0/images/pxeboot/vmlinuz/tftpboot/
cp/mnt/sr0/isolinux/isolinux.cfg/tftpboot/pxelinux.cfg/default
chmod644/tftpboot/pxelinux.cfg/default
配置tftp共享目录中的引导启动配置文件
vim/tftpboot/pxelinux.cfg/default
修改第一行:
defaultvesamenu.c32linux
在lablelinux项下,最后添加
ks=ftp:
//172.18.109.241/ks.cfg
servicexinetdstart
4)安装vsftp服务
yum-yinysallvsftpd
chkconfigvsftpdstart
servicevsftpdstart
5)配置kickstart
system-config-kickstart
进入图形界面配置系统安装所需操作(配置过程略),配置完成后,在”安装后脚本”此步,使用/bin/bash解释器,编写一个脚本来关闭iptables和selinux,脚本内容如下:
chkconfigiptablesoff;/etc/init.d/iptablesstop
setenforce0;sed-i"s/^SELINUX\=enforcing/SELINUX\=disabled/g"/etc/selinux/config
完成后,生成配置文件ks.cfg,将配置文件拷贝到ftp共享目录中,并为ftp准备挂载好系统安装文件
cp/root/ks.cfg/var/ftp
umount/dev/sr0
mount/dev/sr0/var/ftp/pub
echo"mount/dev/sr0/var/ftp/pub/">>/etc/rc.local
servicevsftpdrestart
2.搭建反向代理主备服务器
反向代理服务器作为网站平台的前端,负责将web用户的请求按轮询方式发送给后端的真实服务器,并将静态请求交给nginx服务器,动态请求提交给后端的apache服务器。
服务器使用nginx在网络模型第七层提供负载均衡功能。
搭建步骤如下:
2.1配置反向代理主服务器
1)安装系统、配置IP
修改bios中启动项为网络开机启动,自动连接到管理服务器使用kickstart安装好操作系统。
安装完成后,修改bios启动项,进入操作系统。
修改网卡配置文件,修改ip为172.18.109.232(修改方式和其他网卡参数参照admin服务器的网卡配置)
2)安装nginx
使用yum解决nginx依赖包
groupaddwww
useradd-s/sbin/nologin-gwwwwww
yum-yinstallgccgcc-c++autoconfautomakezlibzlib-developensslopenssl-develpcre*
xftp上传nginx源码安装包,编译安装nginx
tar-zxvfnginx-1.8.1.tar.gz
cdnginx-1.8.1/
./configure--user=www--group=www--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module--with-http_gzip_static_module--with-ipv6--with-pcre
make&&makeinstall
3)配置nginx进行反向代理和负载均衡
nginx的静态并发处理能力比apache要好,但是动态处理不如apache,所以将静态的web请求交给nginx服务器处理,而动态的php请求交给后端的两个apache服务器轮流处理。
配置过程如下:
新建一个配置文件
vi/usr/local/nginx/conf/proxy.conf
配置文件内容如下
upstreamweb{
#ip_hash
server172.18.109.235:
80weight=1max_fails=2fail_timeout=30s;
server172.18.109.236:
80weight=1max_fails=2fail_timeout=30s;
}
server{
listen80;
server_name;
indexindex.htmlindex.htmindex.php;
root/home/wwwroot/default;
#网页文件主目录
location~.*\.(php|php5)?
${
proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;
proxy_set_headerHost$host;
proxy_set_headerX-Forwarded-For$remote_addr;
#使后端apache能获得访问者的ip地址
proxy_http_version1.1
#proxy_redirectoff;
#proxy_pass端口不为80时,使用
proxy_passhttp:
//web;
}
}
在主配置文件中引用此配置文件:
vi/usr/local/nginx/conf/nginx.conf
第一行添加参数,使nginx使用www用户运行
userwwwwww
在字段http{......}括号中修改:
删除字段server{......}
在http{......}括号中末尾,添加includeproxy.conf;
创建网页目录,并添加权限
mkdir-p/home/wwwroot/default
setfacl-mu:
www:
rwx-R/home/wwwroot/default
4)安装和配置keepalived
为了防止前端服务器宕机出现业务中断,造成不必要的损失。
所以使用keepalived来实现反向代理服务器的高可用。
安装过程如下:
上传keepalived源码安装包到服务器上
yum-yinstallkernel-devel
ln-s/usr/src/kernels/2.6.32-642.13.1.el6.i686//usr/src/linux/
tar-zxvfkeepalived-1.2.15.tar.gz
cdkeepalived-1.2.15
./configure
mkdir/etc/keepalived
cp/usr/local/etc/rc.d/init.d/keepalived/etc/init.d/
cp/usr/local/etc/sysconfig/keepalived/etc/sysconfig/
cp/usr/local/etc/keepalived/keepalived.conf/etc/keepalived/
cp/usr/local/sbin/keepalived/usr/sbin/
配置keepalived配置文件:
vim/etc/keepalived/keepalived.conf
修改如下:
servicekeepalivedstart
chkconfigkeepalivedon
查看vip是否添加:
ipadd
2.2配置备反向代理服务器
备服务器和服务器基本相同:
1)重复主反向代理服务器前5步骤
修改网卡配置文件时,修改ip为172.18.109.234
2)配置keepalived配置文件
备服务器配置keepalived配置文件,如下
servicekeepalivedstart
chkconfigkeepalivedon
3.安装网站服务器web1和web2
网站服务器web1和web2作为处理动态php请求的服务器,使用apache作为网站服务器。
3.1安装网站服务器web1
1)安装操作系统
修改bios中启动项为网络开机启动,自动连接到管理服务器使用kickstart安装好操作系统。
安装完成后,修改bios启动项,进入操作系统。
修改网卡配置文件,修改ip为172.18.109.235(修改方式和其他网卡参数参照admin服务器的网卡配置)
2)安装和配置apache服务器
首先xftp上传安装apache服务器所需依赖包:
apr-1.4.6.tar.gz、apr-util-1.4.1.tar.gz、pcre-8.34.tar.gz
yum-yinstallmakegccgcc-c++opensslopenssl-devel
tar-zxvfapr-1.4.6.tar.gz
cdapr-1.4.6
./configure--prefix=/usr/local/apr
make&&makeinstall
tar-zxvfapr-util-1.4.1.tar.gz
cdapr-util-1.4.1
./configure--prefix=/usr/local/apr-util/--with-apr=/usr/local/apr/bin/apr-1-config
make&&makeinstall
tar-zxvfpcre-8.34.tar.gz
cdpcre-8.34
./configure--prefix=/usr/local/pcre
make&&makeinstall
xftp上传apache安装包:
httpd-2.4.7.tar.gz
tar-zxvfhttpd-2.4.7.tar.gz
cdhttpd-2.4.7
./configure--prefix=/usr/local/apache--enable-so--enable-rewrite--enable-ssl--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--with-pcre=/usr/local/pcre/
make&&makeinstall
生成启动脚本:
cp/usr/local/apache/bin/apachectl/etc/init.d/httpd
修改/etc/init.d/httpd脚本文件
vim/etc/init.d/httpd
在#/bin/bash下添加2行:
启动关闭顺序和描述行,内容如下:
#chkconfig:
3456633
#description:
apacheserver
修改完成后
chkconfig--addhttpd
chkconfighttpdon
修改apache主配置文件,指定网站文件目录
vim/usr/local/apache/conf/httpd.conf
修改DocumentRoot"/usr/local/apache/htdocs"为
DocumentRoot"/home/wwwroot/default"
修改
修改#ServerName:
80为
ServerName127.0.0.1:
80
创建网页目录,并添加权限
mkdir-p/home/wwwroot/default
setfacl-mu:
daemon:
rwx-R/home/wwwroot/default
3)安装和配置php服务器
安装所需的依赖包
yum-yinstallphp-mcryptlibmcryptlibmcrypt-develautoconffreetypegdlibmcryptlibpnglibpng-devellibjpeglibxml2libxml2-develzlibcurlcurl-devel
xftp上传php安装包:
php-5.4.25.tar.gz
tar-zxvfphp-5.4.25.tar.gz
cdphp-5.4.25
./configure--prefix=/usr/local/php/\
--with-apxs2=/usr/local/apache/bin/apxs\
--enable-mbstring\
--with-curl\
--with-gd\
--enable-fpm\
--with-config-file-path=/usr/local/php/etc/
make&&makeinstall
cpphp.ini-production/usr/local/php/etc/php.ini
修改apache的主配置文件,使它支持php
vi/usr/local/apache/conf/httpd.conf
在配置文件末尾添加:
AddTypeapplication/x-httpd-php.php.phtml
修改
DirectoryIndexindex.html
为:
DirectoryIndexindex.htmlindex.php
生成测试文件
echo“
phpinfo();?
>”>>/home/wwwroot/default/index.php
servicehttpdrestart
在浏览器输入服务器ip地址,查看php文件是否解析成功
4)安装memcache
当使用session登录的用户,多个动态请求经过反向代理服务器的负载均衡作用,分别请求在两台不同的web服务器上时,由于session只保存在其中一台web服务器上,会造成用户的自动登出。
因此需要将session共享在2个服务器上,使服务器可以同时读取到用户的session。
使用memcache服务进行session共享,基于内存的存储可以达到session的快速读取,降低用户登录时需要的时间。
xftp上传memcache源码包
解决依赖包
yum-yinstallzlib-devel
tar-zxvfmemcache-3.0.8
cdmemcache-3.0.8
/usr/local/php/bin/phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make&&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 网站 服务器 构架 方案