项目目的:
前端一台web服务器无法满足客户对discuz论坛的请求,因而又部署了一台web服务器,并把mysql数据库分离出来。
解决方案
具体步骤:
三台服务器
两台web服务器,一台mysql服务器
web1 192.168.0.11 安装http php
web2 192.168.0.29 安装http php
nfs 192.168.0.54 安装mysql nfs
首先对三台服务器统一做如下配置:
把hostname分别改为web1 web2 mysql
为了便于区分
本文中web1 ip 192.168.0.11
web2 ip 192.168.0.29
mysql ip 192.168.0.54
一、对nfs这台服务器做配置如下
1)创建2个逻辑卷
创建2个目录/www/htdocs /www/lvmydata
一个3G的lvnfs 挂载到/www/htdocs 用于存放网页文件并通过nfs共享
一个10G的lvmydata 挂载到/www/lvmydata存放数据库文件
(具体步骤不详述了)
2)配置nfs服务
#service portmap status //这里要为running才可以
#vim /etc/exports
/www/htdocs 192.168.0.0/24(rw,async) //把/www/htdocs目录共享
#vim /etc/sysconfig/nfs //修改nfs服务端口防止其他服务占用
MOUNTD_PORT=10000//这里的端口可以改成其他的,不要和其他服务端口冲突
STATD_PORT=10011
RQUOTAD_PORT=10022
STATD_OUTGOING_PORT=10033
#service nfs start //启动nfs服务
3)配置mysql数据库
下载mysql的源码包mysql-5.5.24-linux2.6-i686.tar.gz
#setenforce 0 //关闭selinux
#tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local
#cd /usr/local
#ln -sv mysql-5.5.24-linux2.6-i686 mysql
#cd mysql
#chown -R root:mysql .
#mkdir /www/lvmydata/data
#scripts/mysql_install_db--user=mysql--datadir=/www/lvmydata/data
#cp support-files/my-large.cnf /etc/my.cnf
#vim /etc/my.cnf
修改为thread_concurrency=2
添加datadir= /www/lvmydata/data
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig mysqld on
#service mysqld start 启动服务
#vim /etc/profile
添加PATH=/usr/local/mysql/bin:$PATH //目的是可以使用mysql命令
#exportPAHT=#PATH:/usr/local/mysql/bin
#ln -sv /usr/local/mysql/include /usr/include/mysql 链接头文件
#echo " /usr/local/mysql/lib ">/etc/ld.so.conf.d/mysql.conf 链接库文件
#ldconfig
#mysql
mysql>use mysql;
mysql>select host,user,password from user;
mysql>grant all privileges on *.* to root@'%' identified by 'redhat';
//创建一个用户名和密码
mysql>flush privileges;
mysql>\q
二、配置www1 www2 服务器
以www1为例子 www2和www1的配置是一样的
1)安装服务
#yum -y install httpd php53 php53-mbsrting php-mysql
#yum -y install mysql mysql-server //这里的mysql安装目的在于用到mysql的库文件
//不需要启动服务
2)挂载共享文件
#mkdir /www
#mount -t nfs 182.168.0.54:/www/htdocs /www
3)创建虚拟主机
取消中心主机 DocumentRoot
启用NameVirtualHost *:80
#vim /etc/httpd/conf/httpd.conf //添加如下内容
DocumentRoot "/www"
3)测试php和mysql是否工作正常
#vim /www/index.php
$link=mysql_connect('192.168.0.54','root','redhat');
if ($link)
echo "ok";
else
echo "failure";
mysql_close();
?>
三、在mysql服务器上安装discuz
1)下载discuz的压缩包
Discuz_7.2_FULL_SC_GBK.zip
#unzip Discuz_7.2_FULL_SC_GBK.zip -d ./discuz
#cd discuz
#cd upload
#mv ./* /www/htdocs
2)浏览器中输入192.168.0.11/install(或者www.forman.com)
安装过程中遇到问题如下:
1.出现乱码
修改/etc/httpd/conf/httpd.conf
注释掉UTF-8这一行
2修改/etc/php.ini
short_open_tag = On
3 出现mysql_connect 错误---应该在安装之前测试用mysql_connetc连接字符串测试一下php是否与mysql
4 与mysql连接时注意使用刚才创建的用户和密码(root redhat)
五、测试
访问192.168.0.11 进入论坛发帖
访问192.168.0.29 可以看到论坛的更新
当然方法不止一个,更新中........