「WordPress」搭建

搭建前准备

  • 环境:Ubuntu 20.04
  • 工具:Docker、Docker Compose、Nginx Proxy Manager、Mysql、云服务器

安装Docker、Docker Compose

ShellScript
sudo apt update
sudo apt install docker docker-compose

安装Nginx Proxy Manager

  • 创建文件夹,自定义命名,进入此文件夹创建docker-compose.yml文档
YAML
version: '3.1'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    # 默认端口,可以修改:左边的端口,右边不建议修改
    ports:
      - '80:80'
      - '<你的端口>:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  • 创建完成后保存退出,执行docker命令
ShellScript
docker-compose up -d
  • 安装完成后,打开你的ip地址出现以下图表示安装成功
  • 进入Nginx Proxy Manager后台,<你的IP>:<你的端口>(无法访问需要去确认一下服务器的防火墙有没有对此端口开放)
  • 默认账号:admin@example.com
  • 默认密码:changeme
  • 进入后根据提示修改默认账号密码

安装WordPress

  • 在安装Nginx Proxy Manager同级目录创建文件夹(或者自己找地方),进入并创建docker-compose.yml,修改相应的配置,并且安装容器。文档
YAML
version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - <你的端口>:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: <你的数据库用户名>
      WORDPRESS_DB_PASSWORD: <你的数据库密码>
      WORDPRESS_DB_NAME: <你的数据库名称>
    volumes:
      - ./wordpress:/var/www/html

  db:
    # mysql默认端口3306
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: <你的数据库名称>
      MYSQL_USER: <你的数据库用户名>
      MYSQL_PASSWORD: <你的数据库密码>
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./mysql:/var/lib/mysql
  • 安装完成后,浏览器访问<你的IP>:<你的端口>,根据喜好选择语言并且根据提示安装WordPress

域名购买和解析

  • 购买这用的是阿里云。前往
  • 备案完成后,阿里云控制台将域名解析到部署WordPress和Nginx Proxy Manager的云服务器公网IP
  • 我这里用的是二级域名解析到服务器,用Nginx Proxy Manager转发

Nginx Proxy Manager端口转发

  • 浏览器打开部署的Nginx Proxy Manager
  • 点击Proxy Hosts,然后Add Proxy Host
  • Domain Names:就是刚刚解析的二级域名
  • Scheme:使用HTTP
  • Forward Hostname/IP:127.0.0.1。但是这次是部署在Docker中的,Docker无法直接访问宿主机,所以在这里写Docker容器在宿主机的IP地址。服务器中查询Docker的IP
ShellScript
ip addr show docker0
  • 然后会出现需要的IP地址
  • 填入这个IP
  • Forward Port:端口(创建WordPress容器时监听的端口)
  • Block Common Exploits:阻止常见漏洞(建议开启)
  • 保存好,就可以使用Domain Names通过HTTP来访问WordPress
  • 不过HTTP访问是不安全的,推荐使用HTTPS访问

HTTPS安全访问

  • Nginx Proxy Manager可以申请免费的SSL证书
  • 在SSL Certificates中,点击Add SSL Certificates,点击Let’s Encrypt,填写需要申请的域名的证书,同意并保存,一段时间后就会申请成功(三个月时长的证书)
  • 不过在Nginx Proxy Manager中申请一个账号的申请的次数有限,可以前往购买域名的地方去申请免费的SSL证书,这里使用阿里云
  • 下载Nginx证书
  • 前往Nginx Proxy Manager,在SSL Certificates中,点击Add SSL Certificates,点击Custom
  • Name:证书对应的域名
  • Certificate Key:下载的证书的Key文件
  • Certificate:下载的证书的Pem文件
  • 保存并前往Proxy Hosts部署的SSL配置窗口,选择上传的证书,保存
  • Force SSL:强制HTTPS访问
  • 这时已经配置好,但是还不能访问,还要去Word Press中进行HTTPS访问的配置

WordPress HTTPS访问配置

  • 进入WordPress后,目前域名用不了可以使用<你的IP>:<你的端口>进行访问
  • 点击设置,常规
  • 填写成你的域名
  • 前往服务器SSH,在刚刚下载WordPress的文件夹中,编辑wp-config.php配置文件
ShellScript
cd wordpress


vim wp-config.php
  • 在配置最后添加
PHP
# <你的位置>/wp-config.php
$_SERVER['HTTPS'] = 'on';
  • 保存并退出,就可以通过HTTPS愉快的访问
  • 登陆地址:https://你的域名/wp-admin

发表回复

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