19、lnmp_mysql、nfs组件分离
19.1、LNMP一体机的数据库分离成独立的数据库:
1、根据以上学习过的方法在db01服务器上安装独立的mysql数据库软件:
2、在web01服务器上导出原先的数据库:
[root@web01 tools]# mysqldump -uroot -p123456 -R --single-transaction --master-data=1 -F -B wordpress | gzip>bak.sql.gz
#-A: 备份所有的库,也可以单独指定库;
3、拷贝导出的数据库到db01服务器上:
[root@web01 tools]# scp -P22 bak.sql.gz root@172.16.1.51:/tmp/
4、在db01数据库上还原在web01上导出的数据库:
[root@db01 tmp]# gzip -d bak.sql.gz
[root@db01 tmp]# mysql -uroot -p123456 </tmp/bak.sql
[root@db01 tmp]# mysql -uroot -p123456 -e "show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
[root@db01 tmp]# mysql -uroot -p123456 -e "use wordpress;show tables;"
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| lc_commentmeta |
| lc_comments |
| lc_links |
| lc_options |
| lc_postmeta |
| lc_posts |
| lc_term_relationships |
| lc_term_taxonomy |
| lc_termmeta |
| lc_terms |
| lc_usermeta |
| lc_users |
+-----------------------+
5、为worpress数据库设置管理用户和访问的网段:
[root@db01 tmp]# mysql -uroot -p123456
mysql> grant all on wordpress.* to wordpress@'172.16.1.%' identified by '123456';
6、关闭web01服务器上的数据库,关闭开机自启动功能:
[root@web01 tools]# /etc/init.d/mysqld stop
Shutting down MySQL.. [确定]
[root@web01 tools]# chkconfig mysqld off
[root@web01 tools]# chkconfig --list mysqld
mysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
7、更改wb01服务器上nginx中php的配置:
[root@web01 tools]# cd /application/nginx/html/php/
[root@web01 php]# vim wp-config.php
/** MySQL主机 */
define('DB_HOST', '172.16.1.51');
8、访问网页:
9、查看数据库中的内容:
[root@db01 tmp]# mysql -uroot -p123456
mysql> use wordpress; #切换用户管理的库;
Database changed
mysql> select * from lc_posts\G; #\G代表进行竖行显示;
*************************** 1. row ***************************
ID: 1
post_author: 1
post_date: 2018-11-22 14:31:27
post_date_gmt: 2018-11-22 06:31:27
post_content: 欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!
post_title: 世界,您好!
post_excerpt:
post_status: trash
comment_status: open
ping_status: open
post_password:
post_name: hello-world__trashed
to_ping:
pinged:
post_modified: 2018-11-22 21:49:16
post_modified_gmt: 2018-11-22 13:49:16
post_content_filtered:
post_parent: 0
guid: http://www.php.com/?p=1
menu_order: 0
post_type: post
post_mime_type:
comment_count: 1
19.2、将lnmp,web01服务器的上传目录独立分离到nfs服务器上,这样就可以保证访问任何一台web服务器都能够访问到相同的资源:
1、需要注意的是nfs目录和nginx,php目录的虚拟用户要保持一致性;
[root@web01 ~]# id nginx
uid=889(nginx) gid=889(nginx) 组=889(nginx)
[root@nfs01 ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=889,anongid=889)
[root@nfs01 ~]# useradd -u 889 -Ms /sbin/nginx nginx
[root@nfs01 ~]# id nginx
uid=889(nginx) gid=889(nginx) 组=889(nginx)
[root@nfs01 ~]# chown -R nginx:nginx /data/
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 3 nginx nginx 4096 11月 2 15:29 /data
[root@nfs01 ~]# /etc/init.d/nfs reload
2、挂载nfs共享存储:
[root@web01 ~]# rpm -qa rpcbind nfs-utils
nfs-utils-1.2.3-78.el6.x86_64
rpcbind-0.2.0-16.el6.x86_64
[root@web01 ~]# chkconfig --list rpcbind
rpcbind 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@web01 ~]# cd /application/nginx/html/php/wp-content/uploads
[root@web01 uploads]# ls
2018
[root@web01 uploads]# mv 2018/ /tmp/ #导出原来的图片
[root@web01 uploads]# mount -t nfs 172.16.1.31:/data/ /application/nginx/html/php/wp-content/uploads/
[root@web01 uploads]# df -h
172.16.1.31:/data/ 57G 1.7G 53G 4% /application/nginx-1.8.1/html/php/wp-content/uploads
3、把挂载nfs共享存储加入到开机自启中:
[root@web01 /]# vim /etc/rc.local
mount -t nfs 172.16.1.31:/data/ /application/nginx/html/php/wp-content/uploads/
提示:另外 下面两个需要加入到开机自启动之中:
/application/nginx/sbin/nginx #启动nginx
/application/php/sbin/php-fpm #启动php
4、测试:
图片没有了:
5、还原图片
[root@web01 uploads]# cp -av /tmp/2018/ .#
刷新页面:
6、查看用户上传的图片和文件:
[root@nfs01 11]# pwd
/data/2018/11
[root@nfs01 11]# ls -l
-rw-r--r-- 1 nginx nginx 42545 11月 22 21:56 323415-1024x576.jpg
-rw-r--r-- 1 nginx nginx 55651 11月 22 21:56 323415-1200x675.jpg
-rw-r--r-- 1 nginx nginx 3715 11月 22 21:56 323415-150x150.jpg
-rw-r--r-- 1 nginx nginx 6668 11月 22 21:56 323415-300x169.jpg
-rw-r--r-- 1 nginx nginx 26806 11月 22 21:56 323415-768x432.jpg
-rw-r--r-- 1 nginx nginx 457776 11月 22 21:56 323415.jpg
[root@web01 11]# pwd
/application/nginx/html/php/wp-content/uploads/2018/11
[root@web01 11]# ls -l
-rw-r--r-- 1 nginx nginx 42545 11月 22 21:56 323415-1024x576.jpg
-rw-r--r-- 1 nginx nginx 55651 11月 22 21:56 323415-1200x675.jpg
-rw-r--r-- 1 nginx nginx 3715 11月 22 21:56 323415-150x150.jpg
-rw-r--r-- 1 nginx nginx 6668 11月 22 21:56 323415-300x169.jpg
-rw-r--r-- 1 nginx nginx 26806 11月 22 21:56 323415-768x432.jpg
-rw-r--r-- 1 nginx nginx 457776 11月 22 21:56 323415.jpg