用户工具

站点工具


使用docker配置vps

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
使用docker配置vps [2024/08/14 12:44] – [配置 WordPress] liuf使用docker配置vps [2024/11/25 16:35] (当前版本) liuf
行 136: 行 136:
 ==== 配置 NPM 反向代理 ==== ==== 配置 NPM 反向代理 ====
 NPM中创建一个新代理服务,*详细内容*页面里,域名填''blog.liuf.net'',协议选默认''http'',转发主机IP填''172.17.0.1'',转发端口填''4145''与docker的配置文件中一致,下面的三个开关都打开;在*SSL*页面中选上我们创建的通配符证书,打开强制与''支持HTTP/2''两个开关,之后点保存。 NPM中创建一个新代理服务,*详细内容*页面里,域名填''blog.liuf.net'',协议选默认''http'',转发主机IP填''172.17.0.1'',转发端口填''4145''与docker的配置文件中一致,下面的三个开关都打开;在*SSL*页面中选上我们创建的通配符证书,打开强制与''支持HTTP/2''两个开关,之后点保存。
 +
 +这个转发主机的IP地址要填写Docker服务的,我一开始没仔细看,填了127.0.0.1,完全不通过,发现之后就没问题了。这个IP地址可以用这个命令来查询:<code bash>ip addr show docker0</code>
  
 ==== 安装并配置 WordPress ==== ==== 安装并配置 WordPress ====
行 142: 行 144:
 首先,查看实例的id,通过这个命令获得:<code bash>sudo docker ps</code> 首先,查看实例的id,通过这个命令获得:<code bash>sudo docker ps</code>
  
-之后进入这个实例:<code bash>sudo docker exec -it <实例> /bin/bash</code>+之后进入这个实例:<code bash>sudo docker exec -it <实例id> /bin/bash</code>
  
 +因为我们要编辑配置文件,而实例中没有编辑器,所以先安装 Neovim:
 +<code bash>
 +apt update
 +apt install neovim
 +</code>
  
 +需要先刷新软件仓库才能安装。
 +
 +之后复制 PHP 配置文件:<code bash>cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini</code>
 +
 +修改这个文件里的两处内容:
 +<code php>
 +upload_max_filesize = 20M #文件大小限制
 +post_max_size = 80M #post大小限制
 +</code>
 +
 +按 Ctrl+D 退出实例,重启实例:<code bash>sudo docker restart <实例id></code>
 +
 +之后可在WordPress进行导入操作。而且在这一步,不知道从哪个版本开始,支持自动导入资源,原本的图片都从之前的服务器复制了过来,并导入了WordPress进行管理,网址也正常。然后照着之前安装并启用插件、模板,并完成微调。我的WordPress使用了如下插件:
 +  * Akismet 反垃圾评论:垃圾评论保护
 +  * Parsedown for WordPress
 +  * WP-Syntax
 +  * 年度归档
 +  * 经典编辑器
 +  * Redis Object Cache
 +
 +最后一个插件是这次新装的,根据[[https://blognas.hwb0307.com/linux/docker/238|这篇文章]]中的说明进行了配置。
 +
 +我的WordPress继续使用GeneratePress模板,从后台安装即可。我习惯使用霞鹜文楷,在WordPress后台——外观——主题文件编辑器中,编辑''主题页眉(header.php)''文件,在''<head>''后面插入这段代码:<code php>
 +<!-- Screen version -->
 +<link rel="stylesheet" href="https://npm.elemecdn.com/lxgw-wenkai-screen-webfont@1.7.0/style.css" media="print" onload="this.media='all'">
 +</code>
 +
 +此外,Umami Analytics的跟踪代码也可以插在字体配置代码的后面。
 +
 +其他的调整就手动进行吧,比如favicon配置,在WordPress后台很多都可以直接设置了。
 ===== 配置 DokuWiki ===== ===== 配置 DokuWiki =====
 +因为没涉及数据库,DokuWiki更加简单。首先创建配置目录''~/docker/doku'',并在里面创建''docker-compose.yml''文件:
 +<code yaml>
 +services:
 +  dokuwiki:
 +    image: dokuwiki/dokuwiki:stable
 +    ports:
 +      - "4292:8080"
 +    environment:
 +      PHP_TIMEZONE: Asia/Shanghai
 +    volumes:
 +      - ./storage:/storage
 +</code>
 +
 +之后运行命令创建并启动实例:<code bash>sudo docker compose up -d</code>
 +
 +然后在NPM中创建代理,与上面一样,除了端口号是4292,就不赘述了。
 +
 +最后想办法把之前DokuWiki的''conf''、''data''、''lib''三个文件夹复制到创建的''storage''文件夹下面就可以了,简单粗暴。或许有更细致的方法,我没有尝试。至少我这么操作之后,之前全部的内容、配置什么的都过来了。
  
 +====== Docker 实例升级 ======
 +[[https://blog.laoda.de/archives/docker-issues|参考]]
  
 +按照参考链接里的说法,并进行了测试,需要在 Docker compose 所在的文件夹里执行以下命令:
 +<code bash>docker compose pull
 +docker compose up -d</code>
使用docker配置vps.1723610655.txt.gz · 最后更改: 2024/08/14 12:44 由 liuf