在本系列第九期《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/ 中,我们完成了PHP环境的搭建,数据库,Nginx的安装...
这一节, 我们将在树莓派运行世界上最受欢迎的网站框架WordPress, 创建网站并开放到公网。这个新网站域名为pi.v2fy.com 放一些树莓派相关资源的内容。
套用一句罗老师句式:在树莓派上运行树莓派资源网站合适么?合适的不得了~
cd /opt/
mkdir pi.v2fy.com
cd pi.v2fy.com
wget https://wordpress.org/wordpress-5.8.2.tar.gz
tar zxvf wordpress-5.8.2.tar.gz
mv /opt/pi.v2fy.com/wordpress/* /opt/pi.v2fy.com/
rm -rf wordpress
chmod 777 -R /opt/pi.v2fy.com/
将wordpress-5.8.2.tar.gz
解压后,我们获得了/opt/pi.v2fy.com/wordpress
文件夹,将/opt/pi.v2fy.com/wordpress
文件夹中的内容,放入/opt/pi.v2fy.com/
,删除/opt/pi.v2fy.com/wordpress
文件夹, 此时WordPress目录为/opt/pi.v2fy.com
,wordpress-5.8.2.tar.gz
也备份在pi.v2fy.com
目录下,如果某天改wordpress
某个文件改出问题,可以解压wordpress-5.8.2.tar.gz
中的原始文件进行替换修复。
wordpress
/opt/pi.v2fy.com/
配置到树莓派的Nginx中为树莓派安装的Nginx创建新的配置文件
sudo touch /etc/nginx/conf.d/pi.v2fy.com.conf
在/etc/nginx/conf.d/pi.v2fy.com.conf
中加入以下内容
server {
listen 80;
listen [::]:80;
root /opt/pi.v2fy.com;
index index.php index.html index.htm;
server_name pi.v2fy.com;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\. {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
sudo nginx -t
sudo nginx -s reload
测试启动
如果能看到WordPress界面,则WordPress启动成功。
接下来我们要新建一个数据库,为WordPress提供存储,
我们前面章节,已经图文详尽的写过《如何在树莓派安装数据库》详细步骤,没有安装数据库的小伙伴,请查看往期文章 《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/
数据库安装完成后,打开 http://192.168.50.223:8090/
登录
创建新数据库
创建数据库
设置数据库编码
设置编码
配置
填写数据库信息并提交
填写数据库
运行安装
运行安装
填写网站基本信息
配置网站基本信息
安装成功
安装成功
此刻数据库里已经新建完成大量WordPress网站数据表
网站数据表
输入账户密码,即可登录后台
登录后台
网站搭建完成
搭建完成
开始汉化:从官方网站,获取汉化包,将汉化包存储到/opt/pi.v2fy.com/wp-content/languages
文件夹中,保存为zh_CN.mo
cd /opt/pi.v2fy.com
mkdir /opt/pi.v2fy.com/wp-content/languages
curl https://translate.wordpress.org/projects/wp/dev/zh-cn/default/export-translations/?format=mo --output zh_CN.mo
选择简体中文,汉化成功
汉化
首先,你需要将域名,解析到有固定ip的服务器
对Nginx配置不熟悉的,请参考往期包含Nginx安装的教程 :
对申请https证书不熟悉的,请参考往期安装证书教程:
零依赖!使用acme.sh设置nginx多个https证书自动更新,无限续期https证书 https://www.v2fy.com/p/2021-06-27-nginx-https-1624774964000/ ,在服务器配置完成pi.v2fy.com域名的https证书
在有固定ip的服务端,新增配置文件 /etc/nginx/conf.d/pi.v2fy.com
, 其中的内容为
upstream pi_v2fy_com { server 127.0.0.1:8666; }
server {
server_name pi.v2fy.com;
listen 80;
location / {
proxy_pass http://pi_v2fy_com;
proxy_set_header Host $host:server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name pi.v2fy.com;
location / {
proxy_pass http://pi_v2fy_com;
proxy_set_header Host $host:server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
ssl_certificate "/etc/nginx/ssl/pi.v2fy.com/fullchain.cer";
ssl_certificate_key "/etc/nginx/ssl/pi.v2fy.com/pi.v2fy.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
为了避免线下载主题和插件时,被要求输入ftp账户密码,我们需要配置一个权限宽裕的目录,用来存储在线下载的主题和插件
在树莓派运行以下命令
mkdir /opt/pi.v2fy.com/wp-content/tmp
chmod 777 -R /opt/pi.v2fy.com/wp-content/tmp
然后在/opt/pi.v2fy.com/wp-config.php
底部追加以下内容
define('WP_TEMP_DIR', ABSPATH.'wp-content/tmp');
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
底部追加
保存/opt/pi.v2fy.com/wp-config.php
即可生效
通过在线商店下载并安装并启动 Really Simple SSL
安装
插件的作用是,将资源默认的http请求头,改为https
插件安装完成后,会经历一次重新登录
然后所有的资源头都变成了https
https
如果你想完全使用https替代http, 可以将拥有固定ip的服务端的配置小改一下
rewrite ^(.*)$ https://$host$1 permanent;
添加跳转
这样就能将所有的http请求都转发到对应的https页面了
我推荐这个免费轻量主题GeneratePress https://wordpress.org/themes/generatepress/
主题
主题安装完成后,启用GeneratePress
启用
轻量化的主题,数据包很小,可以获得极快的加载速度
轻量主题
至此,一个基于树莓派的WordPress网站就发布到了公网,这个网站后续会存储一些树莓派相关的资源,欢迎访问:https://pi.v2fy.com
zhaoolee写了一个使用markdown文件与WordPress站一一对应的脚本,通过白嫖Github Actions每月2000分钟使用时长,让Github Action自动更新wordpress站的同时,还可以将文章索引展示到Github仓库,供Google索引,用了将近一年,效果很不错,欢迎体验
脚本开源仓库地址: https://github.com/zhaoolee/WordPressXMLRPCTools , 使用说明也在开源地址的REAMD.md里面
MarkDown管理WordPress博客
作为一个博客写了5年的老鸟,WordPress依然是我最推荐的个人博客框架,有人说WordPress重,但功能丰富总比功能不够用要好的多,轻量化的主题配合静态化插件,可以让网页加载速度超快,独立的数据库可以让你的博客拥有任何想要的功能,甚至可以基于WordPress魔改出电商网站。
如果你和我一样热爱Markdown,用我提供的脚本,不仅可以通过Markdown管理自己的网站,而且还可以将文章内容开源到Github, 创建真正的开源博客,还能每次更新文章体验一波白嫖Github Actions的快乐。
树莓派部署WordPress适合长期写博客:很多人买了云服务器,买了域名,建个WordPress站依然卡成狗,时间久了,懒得更新,服务到期,数据消散,博客项目不了了之;如果采用树莓派做主机,树莓派的性能足以轻松运行WordPress, 只要你给树莓派通上电,想什么时候写,就什么时候写,服务器到期了,数据也在树莓派上,想对外展示了,重新部署一下内网穿透,博客又满血复活~