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共享文 ...
随机推荐
- 客户端保存token到sessionStorage
将token保存到客户端的sessionStorage 一.区分localStorage和sessionStorage localStorage是本地持久化存储 sessionStorage是浏览器会 ...
- 回车与换行的区别:CRLF、CR、LF
引言 以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF.CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题. 名词解释 CR:C ...
- linux基础之用户及用户组管理
本节内容 用户管理 1. 为什么需要用户? 1.linux是一个多用户系统 2.权限管理(权限最小化) 2. 用户相关文件 /etc/passwd -->用户基本信息 /etc/shadow - ...
- IDEA Git 项目实战场景
实战场景一:上班啦,从远程仓库克隆项目到本地仓库(Clone) 打开 IDEA,在 Check out from Version Control 下拉菜单选择 Git,如下: 在弹出窗口的 URL 地 ...
- Python数模笔记-PuLP库(1)线性规划入门
1.什么是线性规划 线性规划(Linear programming),在线性等式或不等式约束条件下求解线性目标函数的极值问题,常用于解决资源分配.生产调度和混合问题.例如: max fx = 2*x1 ...
- JDK8中Stream使用解析
JDK8中Stream使用解析 现在谈及JDK8的新特新,已经说不上新了.本篇介绍的就是Stream和Lambda,说的Stream可不是JDK中的IO流,这里的Stream指的是处理集合的抽象概念『 ...
- mysql查看表的字段与含义
查看表的字段与含义 select column_name,column_comment from information_schema.`COLUMNS` where table_Schema='lo ...
- OFRecord 图片文件制数据集
OFRecord 图片文件制数据集 在 OFRecord 数据格式 和 加载与准备 OFRecord 数据集 中,分别学习了 OFRecord 数据格式,以及如何将其它数据集转为 OFRecord 数 ...
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- postman之内建变量的基础应用
一.Postman有以下内建变量,适合一次性使用:{{$guid}}//生成GUID{{$timestamp}}//当前时间戳{{$randomInt}}//0-1000的随机整数 简单应用举例: 二 ...