头图参数:
parameters: (cowboy shot:1.1), (public:1.331), (city:1.331), silver hair, yellow eyes, (sleepy:1.1), nun, solo, 1girl, teen, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting, (extremely detremely detailed CG:1.2), Negative prompt: (large breasts,huge breasts:1.4), (mutation, poorly drawn :1.2), (long body :1.3), (mutation, poorly drawn :1.2) , liquid body, long neck, uncoordinated body,fused ears, (ugly:1.4), lowres, one hand with more than 5 fingers, one hand with less than 5 fingers, (worst quality, low quality:1.4) Steps: 20, Sampler: Euler a, CFG scale: 5, Seed: 2885092513, Size: 960x540, Model hash: a1535d0a42, Model: AnythingV5Ink_v32Ink
我总觉得洋鬼子比中国人文明,货只管排,而那品性却很有可学的地方,
— 一九二五年,鲁迅《两地书之廿九》
这种敢于指摘自己国度的错误的,中国人就很少。
随机引文生成自fortunes-zh包
本文默认使用以下环境:
· Ubuntu 20.04 LTS
· Docker Engine – Community 20.10.17, build 100c701
· WordPress 6.0 with PHP 7.4.30
· MariaDB 1:10.8.3+maria~jammy
1. 部署Docker环境
首先更新现有安装包
sudo apt update
安装依赖包以使apt可以支持HTTPS
sudo apt install apt-transport-https ca-certificates curl software-properties-common
将官方Docker库的GPG公钥添加到系统中
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将Docker库添加到apt里
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
再次更新现有包列表
sudo apt update
执行docker安装
sudo apt install docker-ce
安装后执行版本查看命令, 应该会得到对应的输出
docker --version
Docker version 20.10.17, build 100c701
2. 拉取MariaDB及WordPress镜像并运行
执行pull命令拉取对应版本MariaDB及WordPress镜像
docker pull mariadb:10.8.3-jammy
docker pull wordpress:6.0-php7.4-apache
配置镜像并运行,这里默认MariaDB使用默认root用户 / 3306端口,WordPress镜像中的Apache2配置8080端口,将your_password改成你准备设置的密码,下同
docker run --name db --env MYSQL_ROOT_PASSWORD=<em>your_password</em> -p 3306:3306 -d mariadb
docker run --name wp --link db:mysql -p 8080:80 -d wordpress
3. 完成WordPress的安装操作
首先需要新增一个用于WordPress的数据库,进入正在运行的MariaDB镜像来操作,此处默认使用的数据库名为wordpress
docker exec -it db /bin/bash
mysql -u root -p
#input your_password
> create database wordpress;
打开http://your_ip:8080地址(将your_ip改为你服务器的ip地址,下同), 完成WordPress的安装,注意WordPress被安装在docker中, 因此其localhost地址并非your_ip地址,需要将安装时数据库地址修改为your_ip:3306
完成安装后,登陆控制台,在设置-常规中将WordPress地址(URL)与站点地址(URL)修改为你域名的地址,将以下的your_domain改为你使用的域名:https://your_domain
注意!此处操作后直到完成为止都不再可以使用IP地址访问博客,如果中间流程出了什么问题,可以修改数据库中wp_options(如果没有修改表前缀的话)表中option_id为1和2的字段为http://your_ip来挽回
4. 配置Nginx反向解析
由于Certbot在普通模式运行时能自动对Nginx配置文件进行修改,所以没必要现在就完整的设置Nginx反向解析文件,只要做一个能让外部访问80端口的配置即可。此处,我们将Nginx安装在服务器路径下
sudo apt install nginx
cd /etc/nginx/conf.d
vim {your_domain}.conf
在新建的配置文件中,新增下列行,保存即可
server {
listen 80;
server_name {your_domain};
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://{your_ip}:8080;
}
}
5. 使用Certbot获取SSL证书并配置443端口
注意!若服务器属于中国大陆服务商且未备案时,会默认将境外访问重定向,致使Certbot无法验证。与此同时域名不转回中国大陆服务商则不可备案,因此请中国大陆用户使用服务商配套的服务以获取ssl证书并自行配置Nginx。
Certbot是一个用于获取并自动更新Let’s Encrypt免费SSL证书的开源工具,在页面上选择Ubuntu20.04及Nginx即可得到对应的安装配置方法。获取到Certbot后,执行Certbot命令,会让你先填入你的邮箱(用于在证书失效时通知你)并让你同意其使用协议/向你推送消息,然后Certbot会读取Nginx配置并将反向解析到your_ip的域名列出来。输入your_domain对应的编号,Certbot就会自动申请Let’s Encrypt证书并修改Nginx配置
6. 修改WordPress配置以完全适配https访问
在上一步中Certbot默认的配置会自动将80端口的访问自动重定向到443端口,但CSS,JS等静态文件仍会由http加载,致使页面无法正常渲染。需要修改WordPress镜像中wp-config.php文件来处理,将your_user改为你的用户名
mkdir -p /home/{your_user}/WordPress
sudo docker cp wp:/var/www/html/wp-config.php /home/{your_user}/WordPress/
vim /home/{your_user}/WordPress/wp-config.php
sudo docker cp /home/{your_user}/WordPress/wp-config.php wp:/var/www/html/
在修改wp-config.php文件时,在if ( ! defined( ‘ABSPATH’ ) )前添加如下配置
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
7. 完成
至此基于Ubuntu / Docker的MariaDB / WordPress已经全部安装配置完成,使用https://your_domian/wp-admin/地址去访问你的新博客吧!
2022-06-15 20:00UT+8:00 Kurenai.Dokukawa