小结

部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份

1)在web01和web02上安装nginx和php

2)创建www用户

[root@web01 php]# groupadd www -g 666
[root@web01 php]# useradd www -u 666 -g 666 -s /sbin/nologin -M [root@web02 php]# groupadd www -g 666
[root@web02 php]# useradd www -u 666 -g 666 -s /sbin/nologin -M [root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M [root@db01 ~]# groupadd www -g 666
[root@db01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M [root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M

3)修改nginx和PHP启动用户

[root@web01 php]# vim /etc/nginx/nginx.conf
user www;
[root@web01 php]# vim /etc/php-fpm.d/www.conf
user = www
group = www [root@web02 php]# vim /etc/nginx/nginx.conf
user www;
[root@web02 php]# vim /etc/php-fpm.d/www.conf
user = www
group = www

4)编辑nginx配置文件

[root@web01 php]# vim /etc/nginx/conf.d/blog.drz.com.conf
server {
listen 80;
server_name blog.drz.com;
root /code/wordpress;
index index.php index.html;
access_log /var/log/nginx/blog.drz.com_access.log main; location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} } [root@web01 php]# vim /etc/nginx/conf.d/zh.drz.com.conf
server {
listen 80;
server_name zh.drz.com;
root /code/zh;
index index.php index.html;
access_log /var/log/nginx/zh.drz.com_access.log main; location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} }

5)创建站点目录并授权

[root@web01 php]# mkdir -p /code/{wordpress,zh}

6)代码上线

[root@web01 code]# tar xf wordpress-5.0.3-zh_CN.tar.gz
[root@web01 code]# unzip WeCenter_3-3-3.zip

7)创建出用户上传目录

[root@web01 code]# mkdir /code/wordpress/wp-content/uploads
[root@web01 php]# chown -R www.www /code/

8)启动nginx和php并加入开机自启

[root@web01 code]# systemctl start nginx php-fpm
[root@web01 code]# systemctl enable nginx php-fpm

db01下操作

9)安装数据库

[root@db01 ~]# yum install -y mariadb-server

10)启动数据库

[root@db01 ~]# systemctl start mariadb

11)设置数据库root用户的密码

[root@db01 ~]# mysqladmin -uroot password '123'

12)免交互创建数据库

#创建数据库
[root@db01 ~]# mysqladmin -uroot -p123 create wordpress
[root@db01 ~]# mysql -uroot -p123 -e 'create database zh'
#查看数据库
[root@db01 ~]# mysql -uroot -p123 -e 'show databases'

13)免交互创建程序连接MySQL用户

[root@db01 ~]# mysql -uroot -p123 -e "grant all on wordpress.* to wp@'172.16.1.%' identified by '1'"
[root@db01 ~]# mysql -uroot -p123 -e "grant all on zh.* to zh@'172.16.1.%' identified by '1'"

14)部署第二台web

#推送代码
[root@web01 code]# scp -r /code 172.16.1.8:/
#推送配置文件
[root@web01 ~]# scp /etc/nginx/conf.d/* 172.16.1.8:/etc/nginx/conf.d/
#授权
[root@web02 php]# chown -R www.www /code/
#删除默认虚拟主机配置文件
[root@web01 ~]# rm -f /etc/nginx/conf.d/default.conf
[root@web02 php]# rm -f /etc/nginx/conf.d/default.conf
#启动nginx和php并加入开机自启
[root@web02 php]# systemctl start nginx php-fpm
[root@web02 php]# systemctl enable nginx php-fpm

15)共享静态资源

  • 安装nfs服务端
[root@nfs ~]# yum install -y nfs-utils
[root@backup ~]# yum install -y nfs-utils
  • 修改配置文件
[root@nfs ~]# vim /etc/exports
/data/wordpress 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) [root@backup ~]# vim /etc/exports
/data/wordpress 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
  • 创建共享目录
[root@nfs ~]# mkdir -p /data/{wordpress,zh}
[root@nfs ~]# chown -R www.www /data [root@backup ~]# mkdir -p /data/{wordpress,zh}
[root@backup ~]# chown -R www.www /data
  • 启动nfs和rpcbind
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server [root@backup ~]# systemctl start nfs-server
[root@backup ~]# systemctl enable nfs-server
  • 安装nfs客户端
[root@web01 code]#  yum install -y nfs-utils
[root@web02 php]# yum install -y nfs-utils
  • 查看挂载点
[root@web01 code]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
[root@web01 code]# showmount -e 172.16.1.41
Export list for 172.16.1.41:
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24 [root@web02 php]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
[root@web02 php]# showmount -e 172.16.1.41
Export list for 172.16.1.41:
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
  • 挂载
mkdir /code/wordpress/wp-content/uploads/
mkdir /code/zh/uploads/ 没传图片之前的自己创建目录 [root@web01 code]# mount -t nfs 172.16.1.31:/data/wordpress /code/wordpress/wp-content/uploads/
[root@web01 code]# mount -t nfs 172.16.1.31:/data/zh /code/zh/uploads/ [root@web02 php]# mount -t nfs 172.16.1.31:/data/wordpress /code/wordpress/wp-content/uploads/
[root@web02 php]# mount -t nfs 172.16.1.31:/data/zh /code/zh/uploads/

16)部署rsync和sersync

  • 安装rsync服务端
[root@backup ~]# yum install -y rsync
  • 修改配置文件
[root@backup ~]# vim /etc/rsyncd.conf
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rc
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[nfs]
comment = welcome to oldboyedu backup!
path = /data
  • 创建密码文件并授权
[root@backup ~]# echo 'rc:123' > /etc/rsync.passwd
[root@backup ~]# chmod 600 /etc/rsync.passwd
  • 启动rsyncd
[root@backup ~]# systemctl start rsyncd

17)客户端部署sersync

  • 安装rsync和inotify-tools
[root@nfs ~]# yum install -y rsync inotify-tools
  • 安装sersync
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs ~]# mv GNU-Linux-x86/ /usr/local/sersync
  • 修改配置文件
[root@nfs ~]# vim /usr/local/sersync/confxml.xml
<sersync>
<localpath watch="/data">
<remote ip="172.16.1.41" name="nfs"/>
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-az"/>
<auth start="true" users="rc" passwordfile="/etc/rsync.pass"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="true" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
  • 创建密码文件并授权
[root@nfs ~]# echo 123 > /etc/rsync.pass
[root@nfs ~]# chmod 600 /etc/rsync.pass
  • 启动sersync
[root@nfs ~]# /usr/local/sersync/sersync2 -rdo /usr/local/sersync/confxml.xml

框架图如下

部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份的更多相关文章

  1. 【集群实战】共享存储实时备份(解决nfs共享存储的单点问题)

    1. nfs存储的单点问题 如果nfs服务器宕机了,则所有的nfs客户机都会受到影响.一旦宕机,会丢失部分用户的数据.为了解决单点问题,需要实现共享存储的实时备份,即:将nfs服务端共享目录下的数据实 ...

  2. LAMP 搭建wordpress部署教程贴.

    LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...

  3. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  4. 5分钟搭建wordpress个人博客网站——宝塔傻瓜式部署,无坑系列,附赠主题和md插件[2021-12-31]

    一.前言 自从买了服务器,小编已经马不停蹄的学了两天服务搭建的知识,问了很多大佬,快速搭建自己的博客网站.有四种方式,我在这里全部分享给大家.自己已经搭建好,欢迎大家过来看一下,给你提供个思路哈! 小 ...

  5. 使用 Docker 部署 LNMP 并搭建 wordpress

    准备 系统版本:CentOS Linux release 7.4.1708 (Core)   内核版本:3.10.0-693.el7.x86_64    IP:192.168.31.43    可访问 ...

  6. Ansible部署rsync、nfs及sersync

    rsync nfs sersync httpd环境: 角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backu ...

  7. k8s经典实战—搭建WordPress

    k8s经典实战—搭建WordPress说明:需要在k8s上部署lnmp环境,建议跟着步骤来端口最好不要改,希望你也能搭建成功,完成这个搭建后你对Kubernetes的技术基本上是入门了.首先看下效果图 ...

  8. 搭建WEB、NFS共享、sersync实时同步以及全网定时备份服务流程

    本次实验的主要目的: 1.搭建web服务,使用nfs服务共享的/data目录挂载到web站点目录上. 2.nfs服务器与backup服务器使用sersync实时同步/data目录中的文件. 3.bac ...

  9. LVS之-LAMP搭建wordpress

    author:JevonWei 版权声明:原创作品 LVS搭建wordpress,涉及的知识点有DNS,LAMP,NFS及LVS 网络拓扑图 网络环境 NFS 192.168.198.130 mysq ...

随机推荐

  1. UE4入门学习笔记开篇

    做了3年的Unity, 现在开始转入到做UE4,一来就进入一个超大项目组中学习,度过了最初2个月的生涩和紧张后,现在准备开始慢慢总结,慢慢学习,逐步深入理解和研究UE. 做了3年的游戏开发后,个人感悟 ...

  2. 牛客集训 湖南省赛E题 Grid 动态开点线段树

    国庆牛客集训的题,正好准备好好训练线段树,想起来就补一下. 题意很简单,两种操作行合并或者列合并,每个操作后计算有多少个子块. 这题应该先推导公式,行操作或者列操作只有一种的时候,很简单,总数就是n* ...

  3. python网络爬虫之解析网页的BeautifulSoup(爬取电影图片)[三]

    目录 前言 一.BeautifulSoup的基本语法 二.爬取网页图片 扩展学习 后记 前言 本章同样是解析一个网页的结构信息 在上章内容中(python网络爬虫之解析网页的正则表达式(爬取4k动漫图 ...

  4. 整理h5移动端适配方案

    <使用Flexible实现手淘H5页面的终端适配>:https://github.com/amfe/article/issues/17 <再聊移动端页面的适配>:https:/ ...

  5. NET Framework项目移植到NET Core上踩的坑(1)

    本文章向大家介绍NET Framework项目移植到NET Core上遇到的一系列坑,主要包括NET Framework项目移植到NET Core上遇到的一系列坑使用实例.应用技巧.基本知识点总结和需 ...

  6. C#封装继承

    面向对象开发有三大特性(特点 / 特征) : 封装, 继承, 多态.我们今天主要讨论封装和继承,多态会在下篇中讨论. 一.封装: 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法 ...

  7. SSM框架之SpringMVC(3)常用注解

    SpringMVC(3)常用注解 1. RequestParam注解 1.作用:把请求中指定名称的参数传递给控制器中的形参赋值 2.属性: ​ 1.value:请求参数的每次 ​ 2.required ...

  8. phpMyAdmin开启IP地址登录

    根本没有其他文章说的那么麻烦,又是修改配置文件,又是修改首页文件.在根目录下有个libraries文件夹,进去有个config.default.php文件,修改里面的AllowArbitrarySer ...

  9. 用Loading 加载中的整页加载来做蒙层

    总结:遇见的bug 如何写一个蒙层 最初我打算的是自己写一个蒙层,但是写出来后, 不能够将整个屏幕全部覆盖.只能够覆盖 除[顶部导航] 和[左侧菜单栏] 于是我就使用了element-ui中的 [Lo ...

  10. canvas应用

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...