wordpress 常用操作

删除主题

在主题目录 wp-content/themes 中直接删除即可。

首页和文章页使用不同主题

首页使用sidebar,文章页不使用sidebar,这样文章的内容可以占更宽的页面

  1. 安装插件 Multiple Themes,来为不同页面设置不同的主题。
  2. 将主题复制为一个新的主题,并将目录中的名称全都替换为新的名称,这样,两个主题就能识别为不同的主题。比如我的替换操作命令如下:
find ./ --type f | xargs sed -i 's/Simplus Blog/Simplus Blog Width/g'

SSL

  1. wordpress 跑在docker 中,使用NGINX代理到docker时,在nginx中开启ssl配置。
  2. 通过 https 打开主页,发现好多css无法加载,导致样式变形,其他页面良好
  3. 通过查阅资料发现需要一些设置,可以通过安装 Really Simple SSL插件实现。插件安装启用后,登录后台会提示需要设置ssl,按照步骤操作即可
  4. 访问正常

Markdown TOC 不显示

  1. 安装Table of Contents Plus并已经正常开启
  2. TOC 显示需要设置至少有几个Head才能显示,默认是4个
  3. TOC 实际在wp上只能小写[toc]小写才能识别

忘记 wordpress 登录地址

背景

修改了 url 的格式为 blog.echosoul.cn?p=32,并且使用插件修改了默认登录页。过了几天,找不到登录地址了。 使用默认地址 wp-admin 也不无法登录。

解决办法

  1. 删除 wps-hide-login
rm -rf ./wp-content/plugins/
  1. 使用默认登录页 blog.echosoul.cn/wp-admin 即可登录。

wordpress 数据备份后的重建

背景

之前使用 wordpress 包括 mysql 都跑在容器里,结果 使用 wordpress 插件备份时,服务器负载过高,导致 wordpress 或者 mysql意外退出。

所以打算将 mysql 直接跑在服务器上,效果好很多,记录一下这个过程。

主要是 使用 all in one 导出数据后的环境重建和数据导入部分。

环境

  • 阿里云 ECS
  • CentOS 7

安装

nginx

nginx 作为 容器的代理,将本机的 80 端口代理到容器对外的暴露的端口 8080。

  1. 安装

    yum install -y nginx
    
  2. 配置文件 /etc/nginx/conf.d/blog

    server {
        listen 80 default;
        server_name blog.echosoul.cn;
        # To allow special characters in headers
        ignore_invalid_headers off;
        # Allow any size file to be uploaded.
        # Set to a value such as 1000m; to restrict file size to a specific value
        client_max_body_size 0;
        # To disable buffering
        proxy_buffering off;
    
        location / {
            proxy_http_version 1.1;
            proxy_set_header Host $http_host;
            # proxy_ssl_session_reuse on; # enable this if you are internally connecting over SSL
            proxy_read_timeout 15m; # Default value is 60s which is not sufficient for MinIO.
            proxy_send_timeout 15m; # Default value is 60s which is not sufficient for MinIO.
            proxy_request_buffering off; # Disable any internal request bufferring.
            proxy_pass http://localhost:8080; # If you are using docker-compose this would be the hostname i.e. minio
        }
    )
    
  3. 设置开机自启 并启动

    systemctl enable nginx
    systemctl start nginx
    

mariadb

参考博客

  1. 安装

    yum install -y mariadb-server
    
  2. 创建目录

    mkdir -p /data/mysql
    chown -R mysql. /data/mysql
    
  3. 修改配置文件 /etc/my.cnf

    [mysqld]
    datadir=/data/mysql
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
  4. 设置开机自启 并启动

    systemctl enable mariadb
    systemctl start mariadb
    
  5. 首次安装需要进行数据库的配置,命令都和mysql的一样

    mysql_secure_installation
    
    Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
    
    Set root password? [Y/n]  # 设置密码,y
    
    New password:  # 新密码
    Re-enter new password:  # 再次输入密码
    
    Remove anonymous users? [Y/n]  # 移除匿名用户, y
    
    Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
    
    Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
    
    Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许
    
  6. wordpress 创建用户

    mysql -u root -p
    
    > use mysql;
    > select User,authentication_string,Host,Password from user;
    > GRANT ALL PRIVILEGES ON *.* TO 'wordpress'@'172.20.0.10' IDENTIFIED BY 'b0dvkt3y47';
    

docker

  1. 安装

    yum install -y docker
    
  2. 创建目录

    mkdir -p /data/docker
    
  3. 修改配置文件 /etc/docker/daemon.conf

    {
        "registry-mirrors": [
            "https://docker.mirrors.ustc.edu.cn",
            "https://9dqq20h8.mirror.aliyuncs.com"
            ],
        "graph": "/data/docker",
        "bip": "172.30.0.1/24"
    }
    
  4. 设置开机自启 并启动

    systemctl enable docker
    systemctl start docker
    
  5. wordpress 创建网络

    docker network create -d bridge --subnet 172.20.0.0/24 wordpress
    
  6. 使用最新的 wordpress image 创建 wordpress 实例

    docker run -d --name wordpress 
    -e WORDPRESS_DB_HOST=172.19.235.225:3306 
    -e WORDPRESS_DB_USER=wordpress 
    -e WORDPRESS_DB_PASSWORD=b0dvkt3y47 
    --net wordpress --ip 172.20.0.10 
    -p 8080:80 wordpress
    

    wordpress 镜像

初始化 wordpress 并导入数据

  1. 访问 blog.echosoul.cn,按照提示进行初始化,并登录

  2. 安装 all in one 插件,插件默认只支持导入10M 的备份内容,按照提示去 官网 下载个插件扩展all-in-one-wp-migration-file-extension.zip,可以提升到 512M,基本够用。
    6jnCPc

  3. 导入备份的数据

    补充:这个插件有导出导入、备份功能,对于个人博客完全够用。

原文地址:https://www.cnblogs.com/hiyang/p/12631460.html