加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.ikongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

怎样配置高可靠性高可用性WordPress主机

发布时间:2022-06-22 10:31:45 所属栏目:教程 来源:互联网
导读:本指南配置了一个高可靠性的WordPress站点,使用了一个双Linode集群,使用了MySQL主主复制和一个Linode nodebal前端。 先决条件 本指南是为Debian 7或Ubuntu 14.04编写的。为了完成这个指南,请确保您的帐户上有两个Linodes和一个NodeBalancer。Linodes都需
  本指南配置了一个高可靠性的WordPress站点,使用了一个双Linode集群,使用了MySQL主主复制和一个Linode nodebal前端。
 
  先决条件
 
  本指南是为Debian 7或Ubuntu 14.04编写的。为了完成这个指南,请确保您的帐户上有两个Linodes和一个NodeBalancer。Linodes都需要一个私有IP地址。还可以确保你的两个链接都配置了SSH密钥,并将对方的Linode的SSH密钥放在另一个/.ssh/authorized_keys文件中。
 
  安装所需要的软件包
 
  使用以下命令在每个Linodes上安装Apache、PHP和MySQL:
 
  1 sudo apt-get update
  
  2 sudo apt-get upgrade -y
  
  3 sudo apt-get install apache2 php5 php5-mysql mysql-server mysql-client
  编辑MySQL配置,以设置主-主复制
 
  1、在每个Linodes上编辑/etc/mysql/my.cnf文件。添加或修改以下值:
 
  Server 1:
 
  /etc/mysql/my.cnf
  
  server_id           = 1
  
  log_bin             = /var/log/mysql/mysql-bin.log
  
  log_bin_index       = /var/log/mysql/mysql-bin.log.index
  
  relay_log           = /var/log/mysql/mysql-relay-bin
  
  relay_log_index     = /var/log/mysql/mysql-relay-bin.index
  
  expire_logs_days    = 10
  
  max_binlog_size     = 100M
  
  log_slave_updates   = 1
  
  auto-increment-increment = 2
  
  auto-increment-offset = 1
  Server 2:
 
  /etc/mysql/my.cnf
  
  server_id           = 2
  
  log_bin             = /var/log/mysql/mysql-bin.log
  
  log_bin_index       = /var/log/mysql/mysql-bin.log.index
  
  relay_log           = /var/log/mysql/mysql-relay-bin
  
  relay_log_index     = /var/log/mysql/mysql-relay-bin.index
  
  expire_logs_days    = 10
  
  max_binlog_size     = 100M
  
  log_slave_updates   = 1
  
  auto-increment-increment = 2
  
  auto-increment-offset = 2
  2、对于每个Linodes,编辑bind-address配置,以便使用私有IP地址:
 
  /etc/mysql/my.cnf
 
  bind-address    = x.x.x.x
 
  3、一旦完成,重新启动MySQL应用程序:
 
  sudo service mysql restart
 
  创建复制用户
 
  1、在每个Linodes上都登录到MySQL:
 
  mysql -u root -p
 
  2、在每个Linode上配置复制用户。替换. x.x.x。带有强密码的反对的Linode和密码的私有IP地址
 
  GRANT REPLICATION SLAVE ON *.* TO 'replication'@'x.x.x.x' IDENTIFIED BY 'password';
 
  3、回到终端,运行下面的命令来测试配置。使用相反的Linode的私有IP地址:
 
  mysql -ureplication -p -h x.x.x.x -P 3306
 
  这个命令应该将您连接到远程服务器的MySQL实例。
 
  配置数据库复制
 
  1、在服务器1上登录到MySQL时,查询主状态:
 
  SHOW MASTER STATUS;
 
  注意显示的文件和位置值:
 
  mysql> SHOW MASTER STATUS;
  
  +------------------+----------+--------------+------------------+
  
  | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  
  +------------------+----------+--------------+------------------+
  
  | mysql-bin.000001 |      277 |              |                  |
  
  +------------------+----------+--------------+------------------+
  
  1 row in set (0.00 sec)
  在服务器2上,在MySQL提示中,为该数据库设置了奴隶功能。替换. x.x.x。从第一个服务器获得私有IP。还可以用前面步骤中的值替换master_log_file和master_log_pos的值。
 
  SLAVE STOP;
  
  CHANGE MASTER TO master_host='x.x.x.x', master_port=3306, master_user='replication', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=277;
  
  SLAVE START;
  3、在服务器2上,查询主状态。注意文件和位置值:
 
  SHOW MASTER STATUS;
 
  4、在服务器1上设置从属数据库状态,替换步骤2中与服务器2中交换的相同值:
 
  SLAVE STOP;
  
  CHANGE MASTER TO master_host='x.x.x.x', master_port=3306, master_user='replication', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=277;
  
  SLAVE START;
  5、在两个Linodes上都退出MySQL:
 
  exit
 
  配置Apache
 
  本节中的步骤将需要在您的Linodes上执行。
 
  提示:
 
  对于本指南的以下部分,请将“https://cnbudgetvm.com/”替换为您的域名。
 
  1、通过输入以下命令禁用默认的Apache虚拟主机:
 
  sudo a2dissite *default
 
  2、导航到你的/var/www目录:
 
  cd /var/www
 
  3、创建一个文件夹来保存你的网站,输入以下命令:
 
  sudo mkdir example.com
 
  4、在你刚刚创建的文件夹中创建一组文件夹来存储你的网站的文件、日志和备份:
 
  sudo mkdir cnbudgetvm.com/public_html
  
  sudo mkdir cnbudgetvm.com/log
  5、为网站创建虚拟主机文件:
 
  file excerpt:/etc/apache2/sites-available/cnbudgetvm.com.conf
  
  
  # domain: example.com
  
  # public: /var/www/example.com/public_html/  
  
  <</span>VirtualHost *:80>
  
    # Admin email, Server Name (domain name), and any aliases
  
    ServerAdmin webmaster@example.com
  
    ServerName  www.example.com
  
    ServerAlias example.com
    
    # Index file and Document Root (where the public files are located)
  
    DirectoryIndex index.html index.php
  
    DocumentRoot /var/www/example.com/public_html
  
    # Log file locations
  
    LogLevel warn
  
    ErrorLog  /var/www/example.com/log/error.log
  
    CustomLog /var/www/example.com/log/access.log combined
  
  </</span>VirtualHost>
  注意:文件名必须与.conf 结束在Apache 2.4及以后版本,Ubuntu 14.04用途。.conf 扩展与早期版本向后兼容。
 
  6、通过输入以下命令启用新网站:
 
  sudo a2ensite example.com.conf
 
  重新启动Apache
 
  sudo service apache2 restart
 
  安装WordPress
 
  1、在Linode的初选中,下载并安装最新版本的WordPress。替换为您的配置正确路径列出的任何路径:
 
  cd /var/www
  
  wget https://wordpress.org/latest.tar.gz
  
  tar -xvf latest.tar.gz
  
  cp -R wordpress/* /var/www.phpfensi.com/public_html
  2、为新的WordPress安装配置MySQL数据库。你需要用你自己的设置来替换wordpressuser和password。
 
  mysql -u root -p
  
  CREATE DATABASE wordpress;
  
  GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
  
  FLUSH PRIVILEGES;
  
  EXIT
  3、在文档根目录上设置权限,使WordPress能够完成它的配置步骤:
 
  chmod 777 /var/www/example.com/public_html/
 
  4、使用你的网络浏览器连接到你的Linode的IP地址,并通过配置步骤来完全安装WordPress。
 
  注意:为了确保每个WordPress实例都能处理本地数据库,您需要确保该步骤中的数据库主机值被设置为localhost。这应该在默认情况下填充。
 
  5、通过WordPress管理界面中的一般设置配置您的WordPress URL和站点地址。确保您的域在两个字段中都配置了。
 
  注意:在完成您的WordPress安装步骤并第一次登录之后,您应该重新设置您的文档根目录的权限,以确保额外的安全性。您可以使用以下命令:
 
  chmod 755 /var/www/example.com/public_html/
 
  6、完成WordPress安装步骤后,将配置复制到您的第二个Linode。替换. x.x.x。第二个Linode的IP地址:
 
  rsync -r /var/www/* x.x.x.x:/var/www/.
 
  7、登录到第二个Linode并重新启动Apache:
 
  sudo service apache2 restart
 
  使用Lsyncd配置文件夹同步
 
  1、在集群的主要Linode上安装Lsyncd。
 
  sudo apt-get install lsyncd
 
  2、创建一个配置文件,以便执行同步操作。替换. x.x.x。在您的集群中使用第二个Linode的私有IP地址。
 
  file excerpt:/etc/lsyncd/lsyncd.conf.lua
 
  settings = {
  
  logfile = "/var/log/lsyncd.log",
  
  statusFile = "/var/log/lsyncd-status.log"
  
  }
  
  sync{
  
  default.rsyncssh,
  
  delete = false,
  
  insist
  
  source="/var/www",
  
  host="x.x.x.x",
  
  targetdir="/var/www",
  
  rsync = {
  
  archive = true,
  
  perms = true,
  
  owner = true,
  
  _extra = {"-a"},
  
  },
  
  delay = 5,
  
  maxProcesses = 4,
  
  ssh = {
  //phpfensi.com
  port = 22
  
  }
  
  }
  3、开始Lsyncd守护进程:
 
  service lsyncd start
 
  4、Lsyncd成功地开始了测试:
 
  service lsyncd status
 
  如果这个命令返回之外的东西lsyncd is running,仔细检查你的lsyncd.conf.lua 文件,并确保RSA公钥是次要服务器上正确的位置。
 
  5、测试复制通过创建一个文件在您的主要Linode /var/www文件夹。您应该能够在几秒内在第二个Linode上看到相同的文件。
 
  配置您的Nodebalancer
 
  1、访问Linode管理器中的nodebalalt选项卡。
 
  2、如果您还没有这样做,请添加一个nodebal法师,确保它与您的后端Linodes相同的数据中心。
 
  3、选择您的新nodebal法师并单击“创建配置”。编辑您的配置设置如下:
 
  Port: 80
  
  Protocol: HTTP
  
  Algorithm: Least Connections
  
  Session Stickiness: Table
  
  Health Check Type: HTTP Valid Status
  4、一旦您点击“Save Changes”按钮,就会提示您添加您的节点。为每个节点提供一个惟一的标签,并在每个节点的地址字段中输入私有网络地址和端口。
 
  5、当您添加了两个节点时,请确保健康检查将它们标记为向上。一旦两个节点都显示出来,返回到nodebal法师的主页并注意所列出的IP地址。你现在应该能够导航到那个IP地址并查看你的网页了。
 
  为了测试高可用性功能,可以在一个节点上停止apache2/mysql服务,或者一次一次地关闭一个节点。即使在其中一个节点被标记为向下时,该网站仍应继续提供服务。
 
  祝贺您,您已经配置了您的高可用性可靠性WordPress站点!

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!