Fork me on GitHub

WordPress一些配置问题

0x00

WordPress的URL设置错误导致博客无法正常显示

情景描述

由于我的博客没有做正确的配置(在这里吐槽一下wordpress实在是太脆弱了,各种兼容性不友好),我的博客通过域名访问后会在地址栏变为我的服务器的IP地址,觉得这样十分不美观,于是就想自定义一下我的URL,百度之后发现这个可以直接在WP的设置中更改,但是我小手一抖,想改的URL还没打完就不小心按了回车键,结果博客立马就炸了,所有的资源链接都变成了我的那个不完整的链接,因此页面无法正常的完成加载,页面的响应速度也很慢,也无法正常登陆了,下面我来记录一下这个问题的解决办法。

解决方法:

这个问题需要修改数据库,首先用ssh连接上服务器,cd到WP的根目录

在终端内输入下列命令并输入密码

1
mysql -u root -p

登陆后切换数据库:

1
USE wordpress;

列举wp-content表单前5的数据:

1
select * from wp_options limit 5;

修改数据库中的数据,将双引号内的域名换为自己的域名:

1
UPDATE wp_options SET option_value="http://www.xxxxx.com" WHERE option_name="siteurl";

至此修复完毕,刷新浏览器即可看到正常的页面。

0x01

WordPress配置SSL证书

证书申请

腾讯云有免费的SSL证书,我上去申请了一个

安装方法:

1.1 获取证书

Apache文件夹内获得证书文件 1_root_bundle.crt,2_www.domain.com_cert.crt 和私钥文件 3_www.domain.com.key,
1_root_bundle.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
2_www.domain.com_cert.crt 文件包括一段证书代码 “—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”,
3_www.domain.com.key 文件包括一段私钥代码“—–BEGIN RSA PRIVATE KEY—–”和“—–END RSA PRIVATE KEY—–”。

1.2 证书安装

编辑Apache根目录下 /etc/apache2/sites-enabled/default-ssl.conf文件:

1
2
3
4
5
6
7
8
<VirtualHost _default_:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>

大力出奇迹,我在寻找相关配置的选项的时候出了很多差错,导致网站一度拒绝连接,而且的我的腾讯云也没有一键备份还原的选项,搞崩了就得做好重装的准备,因此我强烈建议把你要修改的文件做一个备份,或者在修改时别直接在原选项上修改,而是注释掉官方的,自己手打一行,如果不行的话就把自己的删掉不影响原来的数据,我选择把源文件中所有的选项都注释掉,然后直接将上述代码粘贴到配置文件里,不容易出错,最后用sudo service apsche2 restart命令重启一下服务就能发现网站已经正确配置了ssl,但是wordpress可能在某些页面上仍然无法正确显示https,原因是要修改数据库里面的url,方法见文章上半部分,将http修改为https即可。

您的支持是我最大的动力🍉