搭建知乎WeCenter
1. 下载并解压wecenter包到/zh下并解压授权。
1. [root@nginx ~]# mkdir /zh 2. 3. [root@nginx ~]# cp -rp /media/WeCenter_3-3-4.zip /zh 4. 5. [root@nginx ~]# cd /zh 6. 7. [root@nginx zh]# unzip WeCenter_3-3-4.zip 8. 9. [root@nginx zh]# chmod -R 777 /zh
2. 创建虚拟主机配置文件
1. [root@nginx zh]# vim /etc/nginx/conf.d/zh.conf 2. 3. server { 4. 5. listen 80; 6. 7. server_name www.zh.com; 8. 9. root /zh; 10. 11. index index.php index.html; 12. 13. 14. 15. location ~ \.php$ { 16. 17. root /zh; 18. 19. fastcgi_pass 127.0.0.1:9000; //php服务器地址,如分离需要指定PHP服务器。 20. 21. fastcgi_index index.php; 22. 23. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 24. 25. include fastcgi_params; 26. 27. } 28. 29. } 30. 31. [root@nginx zh]# systemctl restart nginx
3. 创建blog数据库和管理用户
1. [root@nginx ~]# mysql -uroot -p123 2. 3. //省略部分内容 4. 5. mysql> create database zh; 6. 7. Query OK, 1 row affected (0.00 sec) 8. 9. 10. 11. mysql> grant all on zh.* to wangwu@localhost identified by '123456'; 12. 13. Query OK, 0 rows affected (0.00 sec) 14. 15. 16. 17. mysql> exit 18. 19. Bye
4. 通过客户端服务器验证
注意:下面使用测试机1.10访问。
前面已经安装了wordpress,使用IP访问的话优先访问wordpree论坛,所以需要修改测试机的本地hosts文件或配置DNS域名解析。如两者只安装一个可以忽略域名方式访问,使用IP访问即可。访问http://zh.benet.com登录后台为http://zh.benet.com/?/admin。
1. [root@client ~]# echo "192.168.1.4 www.blog.com" >> /etc/hosts 2. 3. [root@client ~]# echo "192.168.1.4 www.zh.com" >> /etc/hosts
浏览器访问http://www.zh.com,进入安装页面,拉到最下面确认没问题,点击下一步。
修改下面四项内容,端口默认3306,如使用其他端口需添加上去,完成后点击现在安装。
根据要求创建管理员用户密码,输入邮箱后点击完成。
完成后点击访问网站首页即可。
输入用户密码后登录论坛首页即可。
LNMP实现动静分离
根据以上操作,lnmp搭建论坛就完成了,下面将进行拆分lnmp。
LNMP数据库的迁移
1. 为了实现mysql独立运行,现需要把nginx服务器中的mysql数据库迁移到1.5mysql服务器中。打开1.5mysql服务器,安装mysql,配置密码。
1. [root@mysql ~]# rpm -ivh /media/mysql5.6-rpm/*.rpm --nodeps --force 2. 3. [root@mysql ~]# systemctl start mysqld 4. 5. [root@mysql ~]# systemctl enable mysqld 6. 7. [root@mysql ~]# mysqladmin -uroot password 8. 9. New password: 10. 11. Confirm new password:
2. 把nginx服务器(192.168.1.4)中的mysql数据库文件导出,并复制到新的mysql服务器(192.168.1.5)中。
1. [root@nginx ~]# mysqldump -uroot -p123 --all-databases > my.sql 2. 3. Warning: Using a password on the command line interface can be insecure. 4. 5. [root@nginx ~]# scp my.sql root@192.168.1.5:/root 6. 7. The authenticity of host '192.168.1.5 (192.168.1.5)' can't be established. 8. 9. ECDSA key fingerprint is SHA256:i7pBmvf3GlxXGmjiEWzSfTD1J8gwQ32anS7qK/jbMbM. 10. 11. ECDSA key fingerprint is MD5:80:da:11:52:72:6d:4e:08:3f:b7:64:25:8c:8f:49:14. 12. 13. Are you sure you want to continue connecting (yes/no)? yes 14. 15. Warning: Permanently added '192.168.1.5' (ECDSA) to the list of known hosts. 16. 17. root@192.168.1.5's password: //输入mysql服务器的root密码 18. 19. my.sql 100% 1757KB 38.3MB/s 00:00
3. 在新的mysql服务器上导入数据库文件。
1. [root@mysql ~]# mysql -uroot -p123 < /root/my.sql 2. 3. Warning: Using a password on the command line interface can be insecure. 4. 5. [root@mysql ~]# systemctl restart mysqld
4. 在新的mysql服务器上创建相同的管理用户和密码。
1. [root@mysql ~]# mysql -uroot -p123 //登录mysql 2. 3. //省略部分内容 4. 5. mysql> grant all on blog.* to lisi@'%' identified by '123456'; //创建用户lisi密码123456 6. 7. Query OK, 0 rows affected (0.00 sec) 8. 9. 10. 11. mysql> grant all on zh.* to wangwu@'%' identified by '123456'; //创建用户wangwu密码123456 12. 13. Query OK, 0 rows affected (0.00 sec) 14. 15. mysql> exit 16. 17. Bye
5. 在原服务器(nginx服务器1.4)中修改blog和zh的配置文件,重新指定数据库服务器ip。
(1)修改blog配置文件
1. [root@nginx ~]# grep -R 123456 /wordpress //查找blog的配置文件,查看后发现wp-config.php文件 2. 3. [root@nginx ~]# vim /wordpress/wp-config.php //下面只需要修改服务器IP地址 4. 5. /** WordPress数据库的名称 */ 6. 7. define('DB_NAME', 'blog'); 8. 9. 10. 11. /** MySQL数据库用户名 */ 12. 13. define('DB_USER', 'lisi'); 14. 15. 16. 17. /** MySQL数据库密码 */ 18. 19. define('DB_PASSWORD', '123456'); 20. 21. 22. 23. /** MySQL主机 */ 24. 25. define('DB_HOST', '192.168.1.5'); //新的mysql服务器的主机地址。
(2)修改zh文件
1. [root@nginx ~]# grep -R 123456 /zh //查找zh的配置文件,查看后发现/zh/system/config/database.php的配置文件 2. 3. [root@nginx ~]# vim /zh/system/config/database.php 4. 5. 'host' => '192.168.1.5', //该配置文件中依旧只需要修改为新的mysql主机地址。
以上步骤就完成了mysql的拆分,下面将进行php的拆分。
LNMP的PHP迁移
1. 打开新的linux服务器,安装PHP。
[root@php ~]# rpm -ivh /media/php-rpm/*.rpm --nodeps --force
2. 修改nginx服务器(192.168.1.4)中的配置文件,重新指向新的php服务器,blog和zh配置文件都需要修改。
1. [root@nginx ~]# vim /etc/nginx/conf.d/blog.conf 2. 3. fastcgi_pass 192.168.1.6:9000; //修改该行配置中的IP为PHP服务器的地址。 4. 5. [root@nginx ~]# vim /etc/nginx/conf.d/zh.conf 6. 7. fastcgi_pass 192.168.1.6:9000; //同上 8. 9. [root@nginx ~]# systemctl restart nginx
3. 修改PHP服务器(192.168.1.6)的配置文件。
1. [root@php ~]# vim /etc/php-fpm.d/www.conf 2. 3. listen = 192.168.1.6:9000 //PHP服务器IP 4. 5. listen.allowed_clients = 192.168.1.4 //web服务器IP,表示允许web主机访问php服务器 6. 7. [root@php ~]# systemctl restart php-fpm
4. 复制wordpress和zh安装目录到php根下。
1. [root@php ~]# scp -rp root@192.168.1.4:/wordpress / 2. 3. root@192.168.1.4's password: //1.4root密码 4. 5. [root@php ~]# scp -rp root@192.168.1.4:/zh / 6. 7. root@192.168.1.4's password: //1.4root密码
5. 客户端(192.168.1.10)验证
访问http://www.blog.com登录用户验证成功。
访问http://www.zh.com登录用户验证成功。