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
19、lnmp_mysql、nfs组件分离的更多相关文章
- 第19讲- UI组件之_Button、checkbox、radio
第19讲 UI组件之_Button.checkbox.radio 四.按钮Button Button继承自TextView,间接继承自View.当用户对按钮进行操作的时候,触发相应事件,如点击,触摸. ...
- 记录一次vxworks下使用NFS组件的过程
问题:有三块CPU都运行vxworks6.9,现在想要CPU3做server,CPU1-2通过NFS访问CPU3上的文件 补充:使用防火墙可能会影响NFS访问,目前我还没有找到解决办法... 下面是过 ...
- React 设计模式 --- Container and Presentational pattern(容器和展示组件分离)
在React开发中,一个典型的React组件通常会混杂着逻辑操作部分和展示部分.逻辑操作部分指的是和页面UI无关的内容,如API的调用,数据的处理,事件处理函数. 展示部分则指的是创建页面UI 的内容 ...
- 19,django组件之contenttype(一)
django组件之contenttype(一) 方式1:适用于1张表和另一张表要关联的时候. 1.路飞学成表设计: 2.将2个价格策略表合并1张表. 3.如果再加一张表,那价格策略表的表结构会发生改变 ...
- HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件
目录: 1.引言 2.功能介绍 3.BGABadgeView 使用指南 4.BGABadgeView 开发指南 5.<HarmonyOS三方件开发指南>系列文章合集 引言 现在很多的APP ...
- SpringBootSecurity学习(19)前后端分离版之OAuth2.0 token的存储和管理
内存中存储token 我们来继续授权服务代码的下一个优化.现在授权服务中,token的存储是存储在内存中的,我们使用的是 InMemoryTokenStore : 图中的tokenStore方法支持很 ...
- 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...
- IoC之AutoFac(一)——简单使用和组件注册
阅读目录 一.AutoFac简单使用 二.注册 2.1 注册方式 2.2 带参数注册 回到顶部 一.AutoFac简单使用 1 namespace AutofacDemo 2 { 3 class Pr ...
- Ubuntu搭建NFS
NFS全称是Network File System,网络文件系统.它可以通过网络实现文件共享.其结构图大概是这样的: 在机器E上开启NFS服务,机器ABCD都挂载NFS,这样可以实现机器ABCD共享文 ...
随机推荐
- Deepin/Uos系统更新源失败。提示:E: 仓库 “http://packages.chinauos.cn/uos eagle InRelease” 没有数字签名
Deepin/Uos系统更新源失败.提示:E: 仓库 "http://packages.chinauos.cn/uos eagle InRelease" 没有数字签名 n大橘为重n ...
- X Sever —— Xorg
X Sever -- Xorg 发表于 2020-03-20 分类于 系统服务 , Xorg 阅读次数:39 阅读次数:48 本文字数: 7k 阅读时长 ≈ 6 分钟 Xorg:基于X11协议的服务 ...
- Linux_磁盘管理理论概述
一.磁盘阵列 1.什么是磁盘阵列? 1️⃣:磁盘整列就是将多块独立的磁盘组合到一起,形成容量大的磁盘组. 2️⃣:将相同的数据存放到不多个的磁盘的不同位置 2.RAID0 1️⃣:RAID0是磁盘整列 ...
- Mycat调优启用useOffHeapForMerge报java.lang.NumberFormatException异常解决(附源码)
come from : https://blog.csdn.net/u013716179/article/details/89886452
- 010.kubernets的调度系统之daemonset
daemonset简单操作使用 Deployment 是 Kubernetes 中用于处理无状态服务的资源,而 StatefulSet 是用于支持有状态服务的资源,这两种不同的资源从状态的角度对服务进 ...
- strcasecmp函数和strncasecmp函数原型
函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异. 返回值 若参数s1和s2字符串相同则返回0.s1长度大于s2长度则返回大于0 的值,s1 长度若小 ...
- CyclicBarrier分析
简介 CyclicBarrier 是什么? CyclicBarrier 使用 CyclicBarrier 源码解析 CyclicBarrier 简单实现 barrierAction 是由哪个线程执行的 ...
- THINKPHP_(1)_修改TP源码,支持对中文字符串按拼音进行排序。
问题:TP从服务器数据中取出的collection数据,当进一步在网页中进行分页显示时,需要调用order函数,实现类似如下图的排序. 当点击页面中的相关内容时,实现对服务器数据进行重排,就要调用TP ...
- 机器学习PAL数据预处理
机器学习PAL数据预处理 本文介绍如何对原始数据进行数据预处理,得到模型训练集和模型预测集. 前提条件 完成数据准备,详情请参见准备数据. 操作步骤 登录PAI控制台. 在左侧导航栏,选择模型开发和训 ...
- TensorRT PoolingLayer
TensorRT PoolingLayer IPoolingLayer在通道中实现池.支持的池类型有maximum.average和maximum average混合. Layer Descripti ...