所有知识结合,注意正式环境慎用:

nginx负载均衡+nignweb服务器+mysql数据库+nfs-lsync+rsync备份

mariadb服务器

  1. 安装数据库

    yum -y install mariadb-server
  2. 启动数据库服务

    systemctl enable mariadb
    systemctl start mariadb
  3. 检查是否启动

    ss -lntup | grep mysql
    ps -ef | grep mysql
  4. 初始化数据库

    mysql_secure_installation
    # 第一个回车,剩下的全部按Y,注意输入密码的时候不是Y,自定义
  5. 登陆数据库

    mysql -uroot -p[密码]
    # 或
    mysql -rroot -p
  6. 创建WordPress数据库

    create database wordpress;
  7. 查看是否创建成功

    show databases;
  8. 创建普通用户并赋予权限和密码,然后赋予本地登陆

    grant all on wordpress.* to 'blog'@'localhost' identified by '1';
    [数据库名] [创建的用户名] [是否本地登陆] [登陆的密码]
  9. 创建普通用户并赋予权限和密码,然后赋予远程登陆,仅限远程172.16.1.0网段的用户远程登陆

    grant all on wordpress.* to 'blog'@'172.16.1.%' identified by '1';
    
    # 和上一步一样,上一步因为有了blog用户,则不再创建,所以这里生效的是有172.16.1.%这个语句
  10. 本机测试是否可以本地登陆

    mysql -ublog -p
  11. 远程测试是都可以远程登陆,打开另一台在172.16.1.0网段的服务器,并安装数据库进行测试

    # 这条语句在另外一台同网段的服务器测试,不是本机,注意!!!
    mysql -ublog -p -h 172.16.1.51
  12. 本地测试和远程测试都成功则完成!

NFS服务器配置

NFS服务器配置

  1. 在 NFS 服务器上安装所需的 NFS 服务

    yum install nfs-utils -y
  2. 编辑 /etc/exports 文件: /etc/exports 文件用于指定哪些目录共享给哪些客户端以及如何共享

    vim /etc/exports
    # 写入以下内容
    # [NFS本机共享的目录] [仅限远程服务器web01访问]
    /wordpress 172.16.1.7/24(rw,sync,no_root_squash) /wordpress 172.16.1.8/24(rw,sync,no_root_squash)
  3. 启动NFS服务

    systemctl start rpcbind
    systemctl enable rpcbind
    systemctl status rpcbind systemctl start nfs
    systemctl enable nfs systemctl reload nfs
  4. 刷新共享目录,并查看

    exportfs -ra
    exportfs -v
    rpcinfo -p
    showmount -e
    # 全部输入然后查看内容是否符合你的配置,查看是否成功

web01服务器配置

  1. 安装NFS客户端服务工具

    yum install nfs-utils -y
  2. 挂载远程共享目录

    mount -t nfs 172.16.1.31:/wordpress /mnt/wordpress
  3. 永久挂载

    vim /etc/fstab
    172.16.1.31:/wordpress /mnt/wordpress nfs defaults 0 0
  4. 检查是否挂载成功

    df -h
    # 或者
    mount | grep nfs

web02服务器配置

  1. 安装NFS客户端服务工具

    yum install nfs-utils -y
  2. 挂载远程共享目录

    mount -t nfs 172.16.1.31:/wordpress /mnt/wordpress
  3. 永久挂载

    vim /etc/fstab
    172.16.1.31:/wordpress /mnt/wordpress nfs defaults 0 0
  4. 检查是否挂载成功

    df -h
    # 或者
    mount | grep nfs

上传wordpress文件并解压到NFS服务器的/wordpress中

[root@web01-kylin ~]$ wget https://cn.wordpress.org/latest-zh_CN.zip
[root@web01-kylin ~]$ mkdir ~/wordpress
[root@web01-kylin ~]$ unzip latest-zh_CN.zip -d /~
# 因为解压是解压到wordpress文件夹中,所以“/”后不加内容即可
[root@web01-kylin ~]$ mv ~/wordpress/* /wordpress
chown -R nobody.nobody /wordpress #[本机共享的目录]

web服务器配置

web01配置

  1. 安装nginx

    yum install nginx
  2. 写入配置文件

    [root@web01-kylin ~]$ vim /etc/nginx/conf.d/blog.ren.wordpress.cn.conf
    server {
    listen 80;
    server_name blog.ren.wordpress.cn;
    root /mnt/wordpress;
    error_log /var/log/nginx/blog-error.log notice;
    access_log /var/log/nginx/blog-access.log main; location / {
    index index.php;
    } location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
  3. 检查语法是否正确

    nginx -t
  4. 启动服务以及开机自启

    systemctl enable nginx
    systemctl start nginx
    systemctl status nginx
  5. 检查是否安装了PHP

    systemctl stop php-fpm
    yum -y remove php*
    # 没有输出或者是没有服务是对的
  6. 安装PHP

    yum -y install php php-bcmath php-cli php-common php-devel php-embedded php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-process php-xml php-json
  7. 设置开机自启和开启服务

    systemctl enable --now php-fpm
    systemctl start php-fpm
    ps -ef | grep php
    ss -lntup | grep php
  8. 检查服务进程是否开启

    ps -ef | grep php
    ss -lntup | grep php
  9. 修改配置文件进程用户,apache ---> nginx

    vim /etc/php-fpm.d/www.conf
    24:user = apache
    26:group = apache
    38:listen = /run/php-fpm/www.sock # 改为
    user = nginx
    group = nginx
    listen = 127.0.0.1:9000
  10. 检查语法

    php-fpm -t
  11. 重启服务,重新读取配置文件

    systemctl reload php-fpm
    ps -ef | grep php
    ss -lntup | grep php
    # 检查进程服务是否更改

web02服务器配置

和web01一模一样,什么都不变,一模一样来一遍!!!

最后在Windows中,修改hosts文件,然后登陆一下,是否能进入wordpress,如果进入什么都不要做,关掉继续下一步

Nginx负载均衡

目前就一天负载均衡,所以这里就配一台

  1. 安装nginx

    yum install nginx
  2. 写入配置文件

    [root@lb01-kylin ~]$ vim /etc/nginx/conf.d/blog.ren.wordpress.cn.conf
    upstream lb_pools {
    server 10.0.0.7:80;
    server 10.0.0.8:80;
    } server {
    listen 80;
    server_name blog.ren.wordpress.cn; location / {
    proxy_pass http://lb_pools;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-Ip $remote_addr;
    }
    }
  3. 检查语法错误

    nginx -t
  4. 重启服务以及开机自启

    systemctl enable nginx
    systemctl start nginx
    systemctl reload nginx
    systemctl status nginx
  5. 在Windows上测试能否登陆,注意在hosts文件中写入域名,进入浏览器进行测试,如果测试成功推出进行下一步

    10.0.0.5 blog.ren.wordpress.cn

backup备份服务器配置rsync

先配置rsync

  1. 检查安装rsync

    # 检查是否有rsync
    rpm -qa |grep rsync
    # 安装rsync
    yum install rsync
    # 查看版本
    rsync -V
  2. 编辑配置文件

    vim /etc/rsyncd.conf
    
    uid=root
    gid=root
    max connections=10
    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    hosts allow = 172.16.1.31 #---> 这里写的是NFS服务器的IP地址 [syncdata]
    comment=backup data
    path=/s1/bak
    read only=no
    ignore errors
    auth users=wordpress
    secrets file=/etc/rsyncd.passwd
  3. 配置密码文件

    vim /etc/rsyncd.passwd
    
    wordpress:1
    [暗号] [密码]
  4. 赋予密码文件600权限

    chmod 600 /etc/rsyncd.passwd
  5. 启动rsync

    systemctl start rsyncd
    # 或者使用
    rsync --daemon --config=/etc/rsyncd.conf
  6. 检查是否启动

    systemctl status rsync
    
    # 注意这里容易failed,只要不是dead就行,先别管,如果是running更好
  7. 检查服务进程是否启动

    ps -ef |grep rsync

NFS服务器安装lsync进行实时同步

NFS服务器目前已经安装了NFS共享目录服务,检查对应的/wordpress是否存在,检查web01和web02上的磁盘是否挂载正确,是否三端能够同步进行读写文件,使用touch命令进行尝试

  1. 安装lsyncd软件

    yum install -y lsyncd
  2. 检查安装的版本

    lsyncd -version
  3. 配置同步策略

    vim /etc/lsyncd.conf
    
    --全局部分主要配置lsyncd服务,日志,pid文件.
    settings {
    --日志文件,主要查看日志文件.
    logfile = "/var/log/lsyncd.log",
    --这是pid文件
    pidfile = "/var/run/lsyncd.pid",
    --服务状态文件
    statusFile = "/var/log/lsyncd.status",
    --改为非守护进程模式,默认.rsync命令,lsyncd
    nodaemon = true,
    --控制最多用于传输数据的进程数量 rsync进程数(最大)
    --根据cpu核心数来 一致或2倍
    maxProcesses = 2
    } --配置rsync命令,rsync服务端与客户端模式
    --sync部分可以有多个.
    sync {
    --指定rsync工作模式
    default.rsync,
    --指定lsyncd监控目录,源目录
    source = "/wordpress", -------------------------> 注意这里需要监控的目录是哪个
    --指定目标 rsync服务端 用户名@ip地址::模块名字
    target = "wordpress@172.16.1.41::wordpress", ----> 注意这里的写法 [暗号]@[backupIP][模块]
    --每隔5秒同步一次.
    delay = 5,
    --这是rsync命令的 --delete 选项
    delete = true,
    -- 配置rsync命令位置,rsync命令选项,
    rsync = {
    -- 命令位置
    binary = "/usr/bin/rsync", ------------> 使用which rsync查看一下命令是否是这个位置
    -- rsync命令的 -a选项
    archive = true,
    -- rsync命令的 -z选项 压缩
    compress = true,
    -- 配置rsync--password-file密码文件
    password_file = "/etc/rsync.client" -------------------> 密码文件路径要记住!!!
    }
    }
  4. 写入密码

    vim /etc/rsync.client
    1
  5. 给予密码文件600的权限

    chmod 600 /etc/rsync.client
  6. 启动服务

    systemctl enable lsyncd
    systemctl start lsyncd
    systemctl status lsyncd

有错误麻烦评论,看到立马更改

注意正式环境慎用

wordpress:nginx负载均衡+nignweb服务器+mysql数据库+nfs-lsync+rsync备份的更多相关文章

  1. Nginx负载均衡 后端服务器怎么共享Session 问题

    Nginx负载均衡 Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认)       每个请求按时间顺序逐一分配到不同的后端服务器,如果后端 ...

  2. Nginx 负载均衡 后端服务器获取前端用户真实IP

    Nginx 后端 日志文件 获取的都是 前端 负载均衡器的IP 想要获取用户的真实IP 必须 使用Nginx 的模块  http_realip_module  才行!! 1. 编译 Nginx 的时候 ...

  3. nginx配置负载均衡分发服务器笔记

    记录学习搭建nginx负载均衡分发服务器的过程笔记 1.服务器IP:192.168.31.202(当前需要搭建nginx负载均衡分发的服务器)安装好nginx 2.在服务器IP:192.168.31. ...

  4. Nginx 负载均衡-加权轮询策略剖析

    本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更 ...

  5. Nginx负载均衡中后端节点服务器健康检查的操作梳理

    正常情况下,nginx做反向代理,如果后端节点服务器宕掉的话,nginx默认是不能把这台realserver踢出upstream负载集群的,所以还会有请求转发到后端的这台realserver上面,这样 ...

  6. Nginx负载均衡中后端节点服务器健康检查的一种简单方式

    摘自:https://cloud.tencent.com/developer/article/1027287 一.利用nginx自带模块ngx_http_proxy_module和ngx_http_u ...

  7. Nginx(七):keepalived实现Nginx负载均衡服务器的双机高可用

    前言 之前咱们通过 Nginx(六):Nginx HTTP负载均衡和反向代理的配置与优化 和 Nginx+tomcat组合实现高并发场景的动静分离和负载均衡方案 这两篇文章了解了Nginx对高并发应用 ...

  8. nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  9. LNMP 之 Nginx负载均衡服务器

    Nginx负载均衡服务器 参考教程:[千峰教育] 准备工作: 三台服务器,每台服务器都需要安装nginx. 1.关闭防火墙 service iptables stop2.关闭Selinux seten ...

  10. 关于Tomcat+Nginx负载均衡与Jmeter服务器测压的日记

    Jmeter测压 1.Jmeter-5.1.1下载:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip 2 ...

随机推荐

  1. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  2. 解决 raw.githubusercontent.com 无法访问的问题

    解决 raw.githubusercontent.com 无法访问的问题 电信默认 DNS 直接遮蔽 github DNS 1: 61.139.2.69 DNS 2: 218.6.200.139 C: ...

  3. WSL设置中文、修改默认Root登陆、添加右键菜单

    1.设置中文 首先安装 aptitude 管理工具 #apt-get install aptitude 然后安装语言环境并进入语言环境设置. #aptitude install locales #dp ...

  4. JS播放m3u8

    JS播放m3u8: 利用 hls.min.js <!DOCTYPE html> <html> <head> <title>HLS Video Playb ...

  5. PDCA使用指南详解(史上最强)

    PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...

  6. 九集代码深度解析SpringBoot原理:笔记整理

    手动注册Tomcat中的servlet容器 子父容器概念

  7. Iterator迭代器接口(遍历Collection的两种方式之一)

    使用 Iterator 接口遍历集合元素: Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素. GOF给迭代器模式的定义为:提供一种方法访问一个容 ...

  8. EndNote20在正文中修改引文格式的方法(只显示第一作者,其他部分显示et.al.)

    目前网上查找出来的绝大部分信息都是基于EndNote X9,所以这是自己摸索出来的方法 [这篇文章在CSDN上也发了一次,地址:https://blog.csdn.net/2301_79112268/ ...

  9. GD32F4xx FLASH存储

    一.GD32F4xx的内存 GD32F4xx的内存结构由:主存储器.系统信息存储器.一次性编程区域和选项字节等 4 部分组成. 主存储器:用来存放代码和数据常数(如 const 类型的数据).分为 2 ...

  10. 再获权威认可!天翼云论文被IEEE/ACM CCGrid收录

    近日,由天翼云弹性网络开拓者团队撰写的<Towards Better QoS and Lower Costs of P4 EIP Gateway at the Edge>论文被The 24 ...