wordpress 常用操作
删除主题
在主题目录 wp-content/themes
中直接删除即可。
首页和文章页使用不同主题
首页使用sidebar,文章页不使用sidebar,这样文章的内容可以占更宽的页面
- 安装插件 Multiple Themes,来为不同页面设置不同的主题。
- 将主题复制为一个新的主题,并将目录中的名称全都替换为新的名称,这样,两个主题就能识别为不同的主题。比如我的替换操作命令如下:
find ./ --type f | xargs sed -i 's/Simplus Blog/Simplus Blog Width/g'
SSL
- wordpress 跑在docker 中,使用NGINX代理到docker时,在nginx中开启ssl配置。
- 通过 https 打开主页,发现好多
css
无法加载,导致样式变形,其他页面良好 - 通过查阅资料发现需要一些设置,可以通过安装
Really Simple SSL
插件实现。插件安装启用后,登录后台会提示需要设置ssl,按照步骤操作即可 - 访问正常
Markdown TOC 不显示
- 安装
Table of Contents Plus
并已经正常开启 - TOC 显示需要设置至少有几个Head才能显示,默认是4个
- TOC 实际在wp上只能小写
[toc]
小写才能识别
忘记 wordpress 登录地址
背景
修改了 url 的格式为 blog.echosoul.cn?p=32
,并且使用插件修改了默认登录页。过了几天,找不到登录地址了。 使用默认地址 wp-admin
也不无法登录。
解决办法
- 删除
wps-hide-login
rm -rf ./wp-content/plugins/
- 使用默认登录页
blog.echosoul.cn/wp-admin
即可登录。
wordpress 数据备份后的重建
背景
之前使用 wordpress
包括 mysql
都跑在容器里,结果 使用 wordpress
插件备份时,服务器负载过高,导致 wordpress
或者 mysql
意外退出。
所以打算将 mysql 直接跑在服务器上,效果好很多,记录一下这个过程。
主要是 使用 all in one 导出数据后的环境重建和数据导入部分。
环境
- 阿里云 ECS
- CentOS 7
安装
nginx
nginx
作为 容器的代理,将本机的 80 端口代理到容器对外的暴露的端口 8080。
-
安装
yum install -y nginx
-
配置文件
/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 } )
-
设置开机自启 并启动
systemctl enable nginx systemctl start nginx
mariadb
-
安装
yum install -y mariadb-server
-
创建目录
mkdir -p /data/mysql chown -R mysql. /data/mysql
-
修改配置文件
/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
-
设置开机自启 并启动
systemctl enable mariadb systemctl start mariadb
-
首次安装需要进行数据库的配置,命令都和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。或者重启服务也许
-
为
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
-
安装
yum install -y docker
-
创建目录
mkdir -p /data/docker
-
修改配置文件
/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" }
-
设置开机自启 并启动
systemctl enable docker systemctl start docker
-
为
wordpress
创建网络docker network create -d bridge --subnet 172.20.0.0/24 wordpress
-
使用最新的
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 并导入数据
-
访问
blog.echosoul.cn
,按照提示进行初始化,并登录 -
安装
all in one
插件,插件默认只支持导入10M 的备份内容,按照提示去 官网 下载个插件扩展all-in-one-wp-migration-file-extension.zip
,可以提升到 512M,基本够用。
-
导入备份的数据
补充:这个插件有导出导入、备份功能,对于个人博客完全够用。