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

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. WxPython跨平台开发框架之图标选择界面

    在使用 wxPython 开发跨平台桌面应用程序时,创建一个图标选择界面通常用于让用户从图标资源库中选择图标,我们可以把图标分为自定义的图标资源和系统的图标资源两大类,最终我们把它们整合一起使用,在框 ...

  2. 基于高德地图API在Python中实现地图功能的方法

      本文介绍在高德开放平台中,申请.获取地图API的Key的方法:同时通过简单的Python代码,调取API信息,对所得Key的可用性加以验证.   首先,我们进入高德开放平台的官方网站.如果大家是第 ...

  3. svtools简介

    svtools - Comprehensive utilities to explore structural variations in genomes svtools不仅是一个工具,更因为它带有许 ...

  4. PHP 安装启用imagick(解决 word press可选的模组imagick未被安装或已被禁用)

    本教程仅适用Windows Servier IIS网站服务器. 我的博客使用IIS搭建,相比Linux,相关的教程格外少.因此让以后的小伙伴也能马上解决问题,分享此方法. 首先需要下载php对应版本的 ...

  5. C# WinForm 检查目标主机的端口是否可连接

    一个小工具. namespace IPPort_CheckTool { partial class MainForm { /// <summary> /// 必需的设计器变量. /// & ...

  6. Mongodb 基础与安装

    官网链接:https://docs.mongodb.com/ 参考链接:https://www.runoob.com/mongodb/mongodb-linux-install.html 1.什么是M ...

  7. 学Shiro完结版-5

    第二十一章 授予身份及切换身份--<跟我学Shiro> 在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他 ...

  8. js脚本实现文本文件格式批量转换

    问题: 在Windows环境下,从某些软件中导出的文本格式的数据,选择了默认的ANSI格式.双击打开数据文件后,一切正常,没乱码问题.但是为什么自己的代码里,先按照ANSI格式打开,在转换为UTF8, ...

  9. .net core使用Nacos注册中心

    一.前言 好久不见~复工第一更 本文仅参考Nacos快速开始,实现Windows本机单节点测试部署Nacos服务,不适用于生产环境. Nacos是实现动态服务发现.配置管理和服务管理平台的项目,由阿里 ...

  10. 运行jar包时,在命令行中指定依赖的jar包和主类

    在一次实验过程中,使用maven打包java项目为jar包,打出来的myexp.jar包只有7KB(我的实验项目正常打出来的包不小于60MB).这时,运行java -jar myexp.jar报错&q ...