WordPress上传失败的解决办法

上传失败大多数情况都是由于上传文件过大,假如你排除了是文件夹权限的问题的话,那么可以直接针对文件大小限制的问题进行入手,需要修改的地方一共有3处:

  1. Php.ini 文件:调整post_max_size、upload_max_filesize的大小
  2. Nginx的配置文件:在http{}段中加入 client_max_body_size 64m;  (64m表示64兆,请自行考量)

  如果你不是使用的nginx,那么大概也是在你的Web服务配置文件中修改相关的节点。

WordPress没有首行缩进的问题

由于WP是为英文书写设计,所以在中文文章发布的时候是没有首行缩进的,文章在发布之后非常不耐看,其实调整也很简单,在模板自定义中,在外观->自定义->额外CSS 添加以下代码就可以轻松解决:

.entry-content p { text-indent: 2em }

WSL 2中安装CentOS8及Docker的过程

其实一直在公司使用的是VMWare虚拟机,但是因为最近被公司的相关team扫描出使用的版权有问题,所以只能卸载掉,找了很多办法,哪怕是自费购买也是会有商用的问题,无奈中突然想起WSL,也许这是一个最具性价比且靠谱的解决方案,所以就把安装的过程记录一下。

我的使用场景比较简单,在本机安装CentOS系统,在其中安装Docker以及Vue环境,因为日常的工作是API后端开发,所以在本机搭建前端环境是很有必要的,这样Debug的时候可以方便的进入调试状态,而不用再考虑找Json去测试API。其实使用Linux和Docker其实并非必要,Windows原生环境+Vue命令足以,但是我的目的也是为了持续练习Linux命令,不然时间长了就会忘。

所以文章主要的涉及点为:

1.WSL2中安装CentOS8

2.WSL2中安装Docker

WSL的全称Windows Subsystem for Linux,意为Windows中的Linux子系统,如果你不知道有没有安装过WSL,可以通过在PowerShell中执行wsl –state命令,如果有下图就说明已经安装了。

默认版本为2说明默认是以WSL2的方式进行安装,可以通过wsl –set-default-version命令来修改。如果没有安装WSL,请到控制面板->启用或关闭功能中,将下面两个选项勾选之后,重启系统。

虚拟机平台这个选项一定要勾选,因为被坑过。重启系统之后,不出意外的话执行wsl –state命令应该就能看到结果了。

下面就可以安装Linux的发行版了,目前Windows商店中有Ubuntu等发行版,唯独没有CentOS,如果需要Ubuntu的可以直接去Windows应用商店中搜索安装。CentOS8可以在下面这个网址下载:

https://github.com/mishamosher/CentOS-WSL/releases/tag/8.4-2105

下载其中ZIP文件到本地之后解压缩,可以得到两个文件,双击执行exe文件按提示操作即可,安装完成之后运行exe文件就可以启动CentOS了。

接下来的步骤正如往常一样,设置软件包源,这里就不赘述了。下面就可以安装Docker了,因为我不需要Docker的可视化界面,所以我选择只安装Docker Engine,后期通过命令行来操作,按照下面的步骤执行命令即可:

1.首先移除历史Docker相关软件和组件:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.建立Docker 源:

 sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3.安装Docker引擎:

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

截止到这里Docker就算安装完成了,正常情况下是使用systemctl命令去启动Docker服务,但是因为WSL是在Windows中运行,而Systemctl要求必须是在Pid=1的进程中启动才行,所以我们没办法使用传统方式以“守护进程”的方式运行Docker,而且建议也不要费劲去尝试在WSL中启用Systemctl,比较繁琐。我想使用WSL的场景应该大多数是本地开发吧,没人会用于生产环境的。所以,直接使用dockerd命令,以单进程的方式启动即可,为了让他后台运行,后面加一个&,即docker&启动。

如果不出意外的话,你应该还会遇到报错:

ERRO[2022-11-21T23:08:11.203948590+08:00] failed to initialize a tracing processor “otlp” error=”no OpenTelemetry endpoint: skip plugin”

INFO[2022-11-21T23:08:11.492250927+08:00] stopping healthcheck following graceful shutdown module=libcontainerd
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables –wait -t nat -N DOCKER: iptables v1.8.4 (nf_tables): CHAIN_ADD failed (No such file or directory): chain PREROUTING

加个参数:sudo dockerd –iptables=false这里是双-,显示不出来),应该能成功运行了,如果不想每次都输入参数的话,可以编辑/etc/default/docker文件,添加DOCKER_OPTS=”–iptables=false”即可(注意:双-,这里显示不出来)。

题外话:如果你的WSL系统是1,如何转为WSL2?

在PowerShell中使用wsl -l -v命令,可以看到都是WSL1

使用命令wsl –set-version CentOS8 2进行转换