linux

记一次 wordpress 搬家与速度优化

最近阿里云搞双11促销,原价2700多的云服务器只需要229,配置大致是1M带宽,2G内存,1核,其他参数嘛,不是本文重点哈。买到服务器后,第一件事就是把博客从俄罗斯迎过来,本来是在俄罗斯租了服务器,用途嘛,博客算是其一,但不是最重要的哈哈哈哈,好在我用了 cdn ,速度也还凑合。现在呢,既然有了阿里云服务器,那么把博客迁移到阿里云来就再正常不过了。

搬迁的原因很简单,万一俄罗斯哪家因为各种原因挂了,我的数据虽然每天都会备份到 Google Drive,但是终究会有丢失,得不偿失!本文将主要记录此事,也是个小博客,迁移可能很简单啦。

首先,安装 php,大致如下:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.3-fpm php7.3-common php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-mysql php7.3-cli php7.3-zip php7.3-curl

接着安装 redis ,命令为 sudo apt install redis 但是遇到一个 问题:

installed redis-server package post-installation script subprocess returned error exit status 1

错误信息如下:

After this operation, 0 B of additional disk space will be used.
Setting up redis-server (5:4.0.9-1ubuntu0.2) ...

Job for redis-server.service failed because a timeout was exceeded.
See "systemctl status redis-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript redis-server, action "start" failed.
● redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: timeout) since Sun 2019-10-27 22:49:45 CST; 9ms ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
dpkg: error processing package redis-server (--configure):
 installed redis-server package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of redis:
 redis depends on redis-server (<< 5:4.0.9-1ubuntu0.2.1~); however:
  Package redis-server is not configured yet.
 redis depends on redis-server (>= 5:4.0.9-1ubuntu0.2); however:
  Package redis-server is not configured yet.

dpkg: error processing package redis (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 redis-server
 redis
E: Sub-process /usr/bin/dpkg returned an error code (1)

要解决它,你只需要  sudo vim /etc/redis/redis.conf  将 bind 127.0.0.1 ::1  改为  bind 0.0.0.0,接着安装 mariadb

sudo apt install mariadb-client mariadb-server

然后备份之前的数据,需要登录之前博客的 mysql 服务器,命令如下:mysqldump -u wordpress -p wordpress > wordpress.sql ,这里,假设你之前的博客的数据库用户名为 wordpress,数据库也为 wordpress,-u 后面是用户名,-p 后面是数据库名,最后的 wordpress.sql 为你备份文件的路径以及文件名。备份完毕后,将 wordpress.sql 文件复制到 新博客的 mysql 服务器的 /root/ 目录下面,然后登录新博客的 mysql 服务器,接着执行:

create database wordpress;
grant all privileges on wordpress.* to 'wordpress'@'localhost' identified by 'wordpress';
use wordpress;
sources /root/wordpress.sql;

现在,mariadb、redis、php 都已经就绪,接着我们安装 nginx,即 sudo apt install nginx,最后将以前的博客的网站数据复制到新服务器,具体不再赘述。最后,补充下我的 nginx 的配置文件:

server {
  listen 443 ssl;
  server_name www.kpromise.top;
  server_tokens off;
  index index.php index.html index.htm;
  root /var/www/html/wordpress;
  ssl_certificate /etc/letsencrypt/live/kpromise.top/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/kpromise.top/privkey.pem;
  ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
  ssl_prefer_server_ciphers on;

  location ~\.php$ {
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~/\. {
    deny all;
    access_log off;
    log_not_found off;
  }
}

 

full-stack-trip

Share
Published by
full-stack-trip

Recent Posts

Android 自定义 View 入门

说来惭愧,工作数年,连基本的自…

4 年 ago

retrofit 同时支持 xml 和 json

retrofit 解析 jso…

4 年 ago

mysql - 存储过程 从入门到放弃

最近有个报表的需求,于是乎用了…

4 年 ago

奶嘴战略 - 你不得不知道的扎心真相(一)

一句:英雄枯骨无人问,戏子家事…

4 年 ago

acme.sh 的简单使用

acme.sh 是纯 shel…

4 年 ago

wrk -更现代化的http压测工具

wrk 是一款更现代化的 ht…

4 年 ago