给大家带来依据DNS的A纪录负载平衡web办事哀求
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!做为服装论坛站点:有两品种型的数据要处置:1、布局化的数据:如:用户名、用户宣布的批评等,这些能够存储在干系型数据库中:
2、非布局化的数据:如:用户上传的附件。则存储到文件体系中。
服装论坛的架构:
利用两台httpd办事器来办事用户的会见哀求。利用DNS的A纪录做客户会见轮循到这两台办事器上。php做为httpd的模块事情。
服装论坛架构以下图所示:
1、搭建NFS文件同享办事器。
要点:包管192.168.60.99与192.168.60.40两台httpd办事器的历程可以往同享文件体系(目次)中写数据。
1、创立同享目次。
#vim/etc/exports
#cat/etc/exports
/web192.168.60.0/24(rw,no_root_squash)
申明:只需是:192.168.60.0网段的用户都能够挂载利用NFS同享的目次。
2、两台httpd办事器实验是不是能够挂载NFS同享的目次。
(1)、httpdA(192.168.60.99):办事器挂载/web
检察NFS办事器同享的目次(文件体系)
#showmount-e192.168.60.88
Exportlistfor192.168.60.88:
/web192.168.60.0/24
挂载同享目次
#mount-tnfs192.168.60.88:/web/mnt/nfs/
检察是不是挂载上。
#mount|grep"nfs[[:space:]]"
192.168.60.88:/webon/mnt/nfstypenfs(rw,addr=192.168.60.88)
(2)、httpdB(192.168.60.40):办事器也挂载:/web
检察NFS办事器同享的目次(文件体系)
#showmount-e192.168.60.88
Exportlistfor192.168.60.88:
/web192.168.60.0/24
挂载同享目次
#mount-tnfs192.168.60.88:/web/mnt/nfs/
检察是不是挂载乐成
#mount|grep"nfs[[:space:]]"
192.168.60.88:/webon/mnt/nfstypenfs(rw,addr=192.168.60.88)
3、创立利用NFS办事器同享文件体系(目次)的用户;
httpdA(192.168.60.99)与httpdB(192.168.60.40)办事器的:User、Group都利用:usenfs
也就是办事用户哀求的历程或线程的属主与属组是:usenfs.因为用户上传附件的话,要往同享文件体系中写数据。以是,我们必定要包管该用户可以往,同享办事器NFS的同享文件目次中写数据。
(1)、分离在httpdA与httpdB办事器中设置usenfs用户,用户ID号为400.
#idusenfs
uid=400(usenfs)gid=400(usenfs)groups=400(usenfs)
#useradd-u400-rusenfs
#idusenfs
uid=400(usenfs)gid=400(usenfs)groups=400(usenfs)
(2)、在NFS办事器上,也创立一样的用户(指的是id号一样)且请求该用户要有NFS同享进来的文件体系(/web)有读写实行权限。
#useradd-u400-rusenfs
#idusenfs
uid=400(usenfs)gid=400(usenfs)groups=400(usenfs)
利用把持列表的文件受权
设置前:
#getfacl/web
getfacl:Removingleading/fromabsolutepathnames
#file:web
#owner:root
#group:root
user::rwx
group::r-x
other::r-x
申明:
从上述信息可知,usenfs用户是没法往该目次中创立文件的。
经由过程文件权限列表***,授予某用户权限。
#setfacl-mu:usenfs:rwx/web
#getfacl/web
getfacl:Removingleading/fromabsolutepathnames
#file:web
#owner:root
#group:root
user::rwx
user:usenfs:rwx
group::r-x
mask::rwx
other::r-x
申明:
因为usenfs用户有rwx权限,当以该用户的身份倡议创立文件的历程就能够往该目次中创立文件了。
2、创立LAMP平台
申明:这里利用php做为模块的体例跟httpd交互。数据库mariadb与NFS办事器在统一台主机192.168.60.88事情。
1、编译httpd办事器软件:
两台httpd办事器都利用一样的设置举行源码编译装置。
***以下:
必要的软件包:
httpd-2.4.9.tar.bz2
apr-util-1.4.1.tar.bz2
apr-1.4.6.tar.bz2
申明:httpd-2.4版本请求:apr的版本必定在1.4以上。
检察体系的apr库的版本,
#ldconfig-v|grepapr
libaprutil-1.so.0->libaprutil-1.so.0.3.9
libgstdataprotocol-0.10.so.0->libgstdataprotocol-0.10.so.0.25.0
libapr-1.so.0->libapr-1.so.0.3.9
申明:因为apr的版本不合适httpd-2.4,以是要晋级apr库。晋级体例:rpm包;源码包。这里选择源码包。
装置:apr-1.4.6.tar.bz2和apr-util-1.4.1.tar.bz2
#tar-xfapr-1.4.6.tar.bz2
#cdapr-1.4.6
#./configure--prefix=/usr/local/apr-1.4
#make&&makeinstall
#tar-xfapr-util-1.4.1.tar.bz2
#cdapr-util-1.4.1
#./configure--prefix=/usr/local/apr-util-1.4--with-apr=/usr/local/apr-1.4
#make&&makeinstall
编译装置httpd办事器
#tar-xfhttpd-2.4.9.tar.bz2
#./configure
--prefix=/usr/local/httpd-2.4.9装置步伐寄存的地位
--sysconfdir=/etc/httpd-2.4.9设置文件寄存的地位
--enable-so接纳同享模块的体例编译装置httpd。能够天真加载卸载模块。
--enable-ssl启用ssl宁静传输功效
--enable-cgi启用cgi功效
--enable-rewrite启用重定向功效
--with-zlib撑持紧缩功效。传输传输时,启用该功效能够节俭带宽
--with-pcre加密
--with-apr=/usr/local/apr-1.4利用新装置的apr,因为没有导出该库。以是要指定在哪一个目次
--with-apr-util=/usr/local/apr-util-1.4
--enable-modules=all装置全体模块
--enable-mpms-shared=all把prefork、worker、event都编译。httpd-2.4撑持静态切换mpm。
--with-mpm=event默许利用的mpm为:event
#make&&makeinstall
装置加密工具:
装置libmcrypt
#tar-xflibmcrypt-2.5.8.tar.bz2
#cdlibmcrypt-2.5.8
#./configure--prefix=/usr/local/libmcrypt
#make&&makeinstall
2、编译php
(1)、编译php
#tar-xfphp-5.4.26.tar.bz2
#cdphp-5.4.26
#./configure
--prefix=/usr/local/php-5.4php的装置目次
--with-mysql=mysqlnd利用php内置毗连数据库的驱动
--with-pdo-mysql=mysqlnd利用php内置毗连数据库的驱动
--with-mysqli=mysqlnd利用php内置毗连数据库的驱动
--with-openssl启用撑持ssl
--enable-mbstring撑持更多字集
--with-freetype-dir
--with-jpeg-dir撑持jpeg格局的图片
--with-png-dir撑持png格局的图片
--with-libxml-dir撑持扩大标志言语xml
--enable-xml
--with-apxs2=/usr/local/httpd-2.4.9/bin/apxs把php编纂成httpd的模块
--with-mcrypt=/usr/local/libmcrypt利用加密
--with-config-file-path=/etc/设置文件的寄存地位
--with-config-file-scan-dir=/etc/php.d
--with-bz2撑持bz2数据紧缩
--enable-maintainer-zts宁静线程,利用httpd的:event、wordker就要启用该选项。
#make&&makeinstall
复制设置文件
#cpphp.ini-production/etc/php.ini
(2)、编纂httpd办事器的设置文件,让httpd办事器与php分离。
供应index.php的主页
<IfModuledir_module>
DirectoryIndexindex.phpindex.html
</IfModule>
撑持.php格局网页
AddTypeapplication/x-httpd-php.php
AddTypeapplication/x-httpd-php-source.phps
检察是不是启用php模块
#grep"^LoadModule[[:space:]]php.*"/etc/httpd-2.4.9/httpd.conf
LoadModulephp5_modulemodules/libphp5.so
修正httpd会话办事历程的属主属组
Userusenfs
Groupusenfs
修正网页文档的根:
DocumentRoot"/mnt/nfs"
<Directory"/mnt/nfs">
Options-Indexes-FollowSymLinks
AllowOverrideNone
Requireallgranted
</Directory>
3、装置二进制格局的mariadb数据库
#tar-xfmariadb-5.5.36-linux-i686.tar.gz-C/usr/local
#ln-svmariadb-5.5.36-linux-i686mysql
createsymboliclink`mysqlto`mariadb-5.5.36-linux-i686
#ll|grepmysql
lrwxrwxrwx1rootroot25Aug1720:16mysql->mariadb-5.5.36-linux-i686
创立mysql用户,最好把它创立为体系用户。
root@localhostlocal]#useradd-rmysql
#idmysql
uid=101(mysql)gid=103(mysql)groups=103(mysql)
数据目次放在/mydata。
要点:
数据的冗余:要把寄存数据的块装备做成供应数据冗余的raid组合。
数据的备份:要把数据寄存的块装备做成lvm.
这里就略过。。。。。
(1)、修正数据库数据寄存目次的属主属组
#chownmysql:mysql/mydata/
#ll|grepmydata
drwxr-xr-x2mysqlmysql4096Aug1721:03mydata
(2)、修正解压后的二进制步伐的:属主为mysql,属组为mysql
#chown-Rmysql:mysql./*
#ll
total216
drwxr-xr-x2mysqlmysql4096Aug1720:02bin
-rw-r--r--1mysqlmysql17987Feb2407:50COPYING
。。。。。。
drwxr-xr-x4mysqlmysql4096Aug1720:02sql-bench
drwxr-xr-x4mysqlmysql4096Aug1720:02support-files
(3)、初始化mysql。
#scripts/mysql_install_db--user=mysql--datadir=/mydata
InstallingMariaDB/MySQLsystemtablesin/mydata...
OK
Fillinghelptables...
OK
把属主改成root
#chown-Rroot.
#cpsupport-files/my-large.cnf/etc/my.cnf
依据完成情形编纂设置文件增加下述两行
#vim/etc/my.cn
thread_concurrency=4------>CPU与线程的对应干系
datadir=/web------>寄存数据的目次
(4)、供应MySQL的启动剧本,并反省是不是有实行权限
#cpsupport-files/mysql.server/etc/init.d/mysqld
#chkconfig--addmysqld
#chkconfig--listmysqld
mysqld0:off1:off2:on3:on4:on5:on6:off
#chkconfigmysqldoff
(5)、启动数据库办事器
#servicemysqldstart
StartingMySQL..
测试是不是能够操纵数据库
#./bin/mysql
WelcometotheMariaDBmonitor.Commandsendwith;org.
YourMariaDBconnectionidis2
。。。。。
MariaDB[(none)]>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mydb|
|mysql|
|performance_schema|
|test|
+--------------------+
5rowsinset(0.00sec)
注重:装置数据库时的默许用户。都是无需暗码就能够上岸数据库体系。为了宁静思索。以是,要把它删除或加暗码。
MariaDB[(none)]>selectuser,host,passwordfrommysql.user;
+------+----------------+----------+
|user|host|password|
+------+----------------+----------+
|root|localhost||
|root|nfs.9527du.com||
|root|127.0.0.1||
|root|::1||
||localhost||
||nfs.9527du.com||
+------+----------------+----------+
6rowsinset(0.00sec)
扫除不必要的用户
MariaDB[(none)]>dropuserroot@nfs.9527du.com;
MariaDB[(none)]>dropuserroot@::1;
MariaDB[(none)]>dropuser@localhost;
MariaDB[(none)]>dropuser@nfs.9527du.com;
MariaDB[(none)]>dropuserroot@localhost;
设置暗码:
MariaDB[(none)]>setpasswordforroot@127.0.0.1=password(root);
MariaDB[(none)]>selectuser,host,passwordfrommysql.user;
+------+-----------+-------------------------------------------+
|user|host|password|
+------+-----------+-------------------------------------------+
|root|127.0.0.1|*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B|
+------+-----------+-------------------------------------------+
1rowinset(0.00sec)
增加一个办理数据库的用户能够从恣意IPv4的地点上岸到数据库。受权有操纵数据库的统统权力
MariaDB[(none)]>grantallon*.*toroot@%.%.%.%identifiedbyroot;
QueryOK,0rowsaffected(0.00sec)
为了当即失效革新数据库受权表
MariaDB[(none)]>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
3、测试LAMP平台:
1、httpdA(192.168.60.99)与httpdB(192.168.60.40)分离挂载NFS办事器同享的/web目次。
检察NFS同享的目次
#showmount-e192.168.60.88
Exportlistfor192.168.60.88:
/web192.168.60.0/24
挂载并反省是不是乐成
#mount-tnfs192.168.60.88:/web/mnt/nfs/
#mount|grep"nfs[[:space:]]"
192.168.60.88:/webon/mnt/nfstypenfs(rw,addr=192.168.60.88)
在另外一台httpd办事器检察NFS同享的目次
#showmount-e192.168.60.88
Exportlistfor192.168.60.88:
/web192.168.60.0/24
挂载同享目次并反省是不是挂载乐成
#mount-tnfs192.168.60.88:/web/mnt/nfs/
#mount|grep"nfs[[:space:]]"
192.168.60.88:/webon/mnt/nfstypenfs(rw,addr=192.168.60.88)
2、启动httpdA与httpdB办事器,确保办事会话的历程的属主为:usenfs;
httpdA(192.168.60.99)
#psaux|grephttpd
root24270.22.02470410656?Ss14:520:00/usr/local/httpd-2.4.9/bin/httpd-kstart
usenfs24280.01.93024369968?Sl14:520:00/usr/local/httpd-2.4.9/bin/httpd-kstart
usenfs24290.01.93024369972?Sl14:520:00/usr/local/httpd-2.4.9/bin/httpd-kstart
usenfs24310.01.93034609976?Sl14:520:00/usr/local/httpd-2.4.9/bin/httpd-kstart
httpdA(192.168.60.40)
#psaux|grephttpd
root18880.02.02470410660?Ss15:120:00/usr/local/http-2.4.9/bin/httpd-kstart
usenfs18890.01.93024369972?Sl15:120:00/usr/local/http-2.4.9/bin/httpd-kstart
usenfs18900.01.93034609980?Sl15:120:00/usr/local/http-2.4.9/bin/httpd-kstart
usenfs18960.01.93024369976?Sl15:120:00/usr/local/http-2.4.9/bin/httpd-kstart
3、增加测试页面,是不是可以毗连MySQL和httpd办事器可以注释.php格局的网页。
在同享目次/web中创立:checkmysql.php网页文件。内容所下。
<?php
$link=mysql_connect(192.168.60.88,root,root);
if($link)
echo"Success...";
else
echo"Failure...";
?>
4、会见页面测试
启动mariadb数据库:
#servicemysqldstart
StartingMySQL.....
测试httpdA(192.168.60.99):
#curl-eIhttp://192.168.60.99/checkmysql.php
Success...
申明:httpdA(192.168.60.99)毗连mariadb数据库乐成。且可以启用php注释php代码。
测试httpdB(192.168.60.40):
#curl-eIhttp://192.168.60.40/checkmysql.php
Success...
申明:httpdA(192.168.60.40)毗连mariadb数据库乐成。且可以启用php注释php代码。
封闭mariadb数据库并测试一次。
#servicemysqldstop
ShuttingdownMySQL.
#curl-eIhttp://192.168.60.99/checkmysql.php
Failure...
[roocurl-eIhttp://192.168.60.40/checkmysql.php
Failure...
申明:
两台httpd办事器已可以与后真个MySQL办事器交互了。且可以注释php格局的页面文档了。
4、安排:wordpress-3.3.1.zh.CN博客步伐:
1、创立wordpress博客步伐毗连MySQL数据库的用户和创立它利用的数据库。
MariaDB[(none)]>createdatabasewordpress;
MariaDB[(none)]>grantallonwordpress.*towordpress@192.168.60.%identifiedbywordpress;
MariaDB[(none)]>flushprivileges
申明:
基于宁静方面的思索,wordpress用户只要利用wordpress数据库的权力。没有操纵别的数据库的权力。
2、设置wordpress博客步伐
#unzipwordpress-3.3.1-zh_CN.zip
#cpwp-config-sample.phpwp-config.php
编纂wp-config.php设置文件,输出毗连MySQL数据的用户和暗码和利用的数据库
#vimwp-config.php
//**MySQL设置-详细信息来自您正在利用的主机**//
/**WordPress数据库的称号*/
define(DB_NAME,wordpress);
/**MySQL数据库用户名*/
define(DB_USER,wordpress);
/**MySQL数据库暗码*/
define(DB_PASSWORD,wordpress);
/**MySQL主机*/
define(DB_HOST,192.168.60.88);
/**创立数据表时默许的笔墨编码*/
define(DB_CHARSET,utf8);
在192.168.60.99这台办事器上,翻开wordpress步伐装置导游
在192.168.60.40这台httpd办事器上也翻开wordpress的装置导游并装置wordpress博客步伐。下图为装置后的界面:
经由过程另外一台办事器扫瞄
OK....
本文出自“Linux”博客,请务必保存此出处http://9528du.blog.51cto.com/8979089/1541380
欢迎大家来到仓酷云论坛!
给大家带来依据DNS的A纪录负载平衡web办事哀求
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。 Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。 如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。 甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。 不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。 掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。 笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机 Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。
页:
[1]