博客搭建:wordpress避坑指南

博客搭建:wordpress避坑指南

本文主要介绍wordpress建站过程中的踩坑经历,并汇总解决方法。

数据库连接失败

我的建站方案是:预先安装了Mysql,并创建了为网站创建了数据库,然后通过docker镜像的方式搭建wordpress,但是始终无法访问到数据库。 无法访问的原因,docker镜像无法通过localhost访问到物理机的数据库。

  1. docker数据库配置中http://localhost:3306 替换为http://ip:3306。
  2. 修改数据库配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf,以允许远程访问
    bind-address            = 0.0.0.0
    mysqlx-bind-address     = 0.0.0.0

    接下来重启数据库

    sudo systemctl restart mysql

域名访问
  • 创建并修改文件/etc/nginx/sites-available/web_config

    server {
    server_name domain.com;
    
    location / {
        proxy_pass http://8.219.175.219:8082;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    }
    server {
    if ($host = domain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot
    
    listen 80;
    server_name domain.com;
    return 404;
    }

    注意其中ssl相关部分,我是采用certbot工具来生成的,如果不需要https访问,可以删除。如果需要,请自行参考certbot的安装和使用。

  • 保存退出后执行下面代码:
    sudo ln /etc/nginx/sites-available/web_config /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
  • 注意查看各个步骤是否报错,后续如果需要修改/etc/nginx/sites-available/web_config,需要在修改后执行最后两步。
    sudo nginx -t
    sudo systemctl reload nginx

    至此,如果DNS解析设置正确,就可以通过域名访问咱们的网站了。


重定向次数过多

解决wordpress重定向次数过多too many redirects的问题

  • 修改wp-config.php,添加如下代码
    $_SERVER['HTTPS'] = 'on';
    define('FORCE_SSL_LOGIN', true);
    define('FORCE_SSL_ADMIN', true);

    我还遇到了在常规设置中,更新站点URL和wordpress URL后无法访问的问题,以及下载主题后,首页CCS不生效的问题。貌似也是加上这两句代码之后就没有了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注