让两台Web服务器使用同一个数据库来为用户提供discuz的论坛服务

让discuz论坛的数据共享一个mysql数据库
实验环境
系统: Linux  5.8
所需的rpm包(系统光盘上自带的有):
        httpd ,php53, php53-mbsting, php53-mysql, mysql, mysql-server
        以及Discuz_7.2_FULL_SC_GBK.zip的源码包

首先请关闭selinux
# setenforce 0

1.在Server1上安装相关的rpm包


  1. # yum -y install httpd php53 php53-mbstring php53-mysql 
  2. # /etc/init.d/httpd start 
  3.   Starting httpd:                                            [  OK  ] 
  4. # chkconfig httpd on 
测试apache是否能正常工作

让discuz论坛的数据共享一个mysql数据库



  1. # vi /etc/httpd/conf/httpd.conf   
  2.       DirectoryIndex index.php  -->编辑这一项 
  3. # cd /var/www/html/  
  4. # vi index.php        
  5.      <?php 
  6.        phpinfo(); 
  7. ?> 
  8. # /etc/init.d/httpd restart  
  9.   Stopping httpd:                                            [  OK  ]  
  10.   Starting httpd:                                            [  OK  ]  
测试php页面 

2.安装discuz

  1. # unzip Discuz_7.2_FULL_SC_GBK.zip -d /var/www/html/ 
  2. # cd /var/www/html/ 
  3. # rm -rf index.php readme utilities 
  4. # mv upload/* ./                                    
  5. # setfacl -m u:apache:rwx ./config.inc.php ./p_w_uploads/ ./forumdata/ ./forumdata/cache/ ./forumdata/templates/ ./forumdata/threadcaches/ ./forumdata/logs/ ./uc_client/data/cache/ 
3.更改php主配置文件

  1. # vi /etc/php.ini     
  2.         short_open_tag = On 
  3.         date.timezone  = Asia/Shanghai 
  4.                                  
  5. 解决乱码     
  6. # vi /etc/httpd/conf/httpd.conf         
  7.      注释掉: AddDefaultCharset UTF-8 
4. 在172.16.45.2 上安装mysql
        

  1. # yum -y install mysql mysql-server 
  2. # /etc/init.d/mysql start        -->  初始化数据库 
  3. # mysql   
  4. mysql> use mysql            设定当前默认操作的表 
  5. Reading table information for completion of table and column names 
  6. You can turn off this feature to get a quicker startup with -A 
  7.  
  8. Database changed 
  9. mysql> SELECT host,user,password FROM user;            查看用户信息 
  10. +-----------------------+------+----------+ 
  11. | host                  | user | password | 
  12. +-----------------------+------+----------+ 
  13. | localhost             | root |          |  
  14. | station90.example.com | root |          |  
  15. | 127.0.0.1             | root |          |  
  16. | localhost             |      |          |  
  17. | station90.example.com |      |          |  
  18. +-----------------------+------+----------+ 
  19. rows in set (0.01 sec) 
  20.  
  21. mysql> UPDATE user SET password=password('redhat'WHERE user='root';    为所有root用户更改密码 
  22. Query OK, 3 rows affected (0.00 sec) 
  23. Rows matched: 3  Changed: 3  Warnings: 0 
  24.  
  25. mysql> SELECT host,user,password FROM user
  26. +-----------------------+------+------------------+ 
  27. | host                  | user | password         | 
  28. +-----------------------+------+------------------+ 
  29. | localhost             | root | 27c30f0241a5b69f |  
  30. | station90.example.com | root | 27c30f0241a5b69f |  
  31. | 127.0.0.1             | root | 27c30f0241a5b69f |  
  32. | localhost             |      |                  |  
  33. | station90.example.com |      |                  |  
  34. +-----------------------+------+------------------+ 
  35. rows in set (0.00 sec) 
  36.  
  37. mysql> DROP USER '' @localhost;                删除匿名用户 
  38. Query OK, 0 rows affected (0.00 sec) 
  39.  
  40. mysql> DROP USER '' @station90.example.com; 
  41. Query OK, 0 rows affected (0.00 sec) 
  42.  
  43. mysql> SELECT host,user,password FROM user
  44. +-----------------------+------+------------------+ 
  45. | host                  | user | password         | 
  46. +-----------------------+------+------------------+ 
  47. | localhost             | root | 27c30f0241a5b69f |  
  48. | station90.example.com | root | 27c30f0241a5b69f |  
  49. | 127.0.0.1             | root | 27c30f0241a5b69f |  
  50. +-----------------------+------+------------------+ 
  51. rows in set (0.00 sec) 
  52.  
  53. mysql> CREATE DATABASE discuz_db;                为discuz创建所需的数据库 
  54. Query OK, 1 row affected (0.00 sec) 
  55.  
  56. mysql> GRANT ALL ON discuz_db.* TO [email protected]'172.16.45.1' IDENTIFIED BY 'redhat';        为discuz这个用户授权 
  57. Query OK, 0 rows affected (0.00 sec) 
  58.  
  59. mysql> GRANT ALL ON discuz_db.* TO [email protected]'172.16.45.3' IDENTIFIED BY 'redhat';    为discuz2这个用户授权 
  60. Query OK, 0 rows affected (0.00 sec) 
  61.  
  62. mysql> FLUSH PRIVILEGES;                            更新授权表 
  63. Query OK, 0 rows affected (0.00 sec) 
  64.  
  65. mysql> \q 
  66. Bye 

  1. # /etc/init.d/mysqld restart 
  2. Stopping MySQL:                                            [  OK  ] 
  3. Starting MySQL:                                            [  OK  ] 

在浏览器中输入:172.16.45.1/install 进入discuz的安装配置界面

让discuz论坛的数据共享一个mysql数据库

让discuz论坛的数据共享一个mysql数据库

 

让discuz论坛的数据共享一个mysql数据库

 

 

让discuz论坛的数据共享一个mysql数据库

让discuz论坛的数据共享一个mysql数据库

 

5. 按照前面的方法在Server2上安装并配置好httpd、php和discuz

6.在浏览器中输入:172.16.45.3/intsall 安装配置Server2上的discuz

 

 

让discuz论坛的数据共享一个mysql数据库

选择强制安装

7.共享172.16.45.1的数据

   (1).编辑 /etc/exports

            添加:/var/www/html/p_w_uploads  172.16.45.3(ro)

8.在172.16.45.3上挂载共享目录

  # mount -t nfs  172.16.45.1:/var/www/html/p_w_uploads   /var/www/html/p_w_uploads

开机自动挂载: 编辑/etc/fstab

   172.16.45.1:/var/www/html/p_w_uploads    /var/www/html/p_w_uploads    nfs    defaults     0  0

over!