《树莓派4B家庭服务器搭建指南》第十一期

2021-12-07 13:59:10 浏览数 (4)

在本系列第九期《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/ 中,我们完成了PHP环境的搭建,数据库,Nginx的安装...

这一节, 我们将在树莓派运行世界上最受欢迎的网站框架WordPress, 创建网站并开放到公网。这个新网站域名为pi.v2fy.com 放一些树莓派相关资源的内容。

套用一句罗老师句式:在树莓派上运行树莓派资源网站合适么?合适的不得了~

从WordPress官网免费下载安装包到树莓派

代码语言:javascript复制
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.comwordpress-5.8.2.tar.gz也备份在pi.v2fy.com目录下,如果某天改wordpress某个文件改出问题,可以解压wordpress-5.8.2.tar.gz中的原始文件进行替换修复。

wordpress

/opt/pi.v2fy.com/ 配置到树莓派的Nginx中

为树莓派安装的Nginx创建新的配置文件

代码语言:javascript复制
sudo touch /etc/nginx/conf.d/pi.v2fy.com.conf

/etc/nginx/conf.d/pi.v2fy.com.conf中加入以下内容

代码语言:javascript复制
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;
    }
}
  • 测试配置,并重启Nginx
代码语言:javascript复制
sudo nginx -t
sudo nginx -s reload

在局域网的电脑上配置host, 将pi.v2fy.com指向树莓派ip,测试WordPress是否顺利启动

测试启动

如果能看到WordPress界面,则WordPress启动成功。

接下来我们要新建一个数据库,为WordPress提供存储,

我们前面章节,已经图文详尽的写过《如何在树莓派安装数据库》详细步骤,没有安装数据库的小伙伴,请查看往期文章 《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/

数据库安装完成后,打开 http://192.168.50.223:8090/

登录

创建新数据库

创建数据库

设置数据库编码

设置编码

数据库创建完成后,回到浏览器,开始配置wordpress

配置

填写数据库信息并提交

填写数据库

运行安装

运行安装

填写网站基本信息

配置网站基本信息

安装成功

安装成功

此刻数据库里已经新建完成大量WordPress网站数据表

网站数据表

输入账户密码,即可登录后台

登录后台

网站搭建完成

搭建完成

开始汉化:从官方网站,获取汉化包,将汉化包存储到/opt/pi.v2fy.com/wp-content/languages文件夹中,保存为zh_CN.mo

代码语言:javascript复制
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

选择简体中文,汉化成功

汉化

将WordPress映射到公网

首先,你需要将域名,解析到有固定ip的服务器

对Nginx配置不熟悉的,请参考往期包含Nginx安装的教程 :

《树莓派4B家庭服务器搭建指南》第九期:用树莓派低成本给热心老哥搭个窝,在树莓派建立BBS论坛flarum并映射到公网全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/

对申请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, 其中的内容为

代码语言:javascript复制
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 {
    }


}

安装插件 Really Simple SSL

为了避免线下载主题和插件时,被要求输入ftp账户密码,我们需要配置一个权限宽裕的目录,用来存储在线下载的主题和插件

在树莓派运行以下命令

代码语言:javascript复制
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底部追加以下内容

代码语言:javascript复制
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的服务端的配置小改一下

代码语言:javascript复制
rewrite ^(.*)$ https://$host$1 permanent;

添加跳转

这样就能将所有的http请求都转发到对应的https页面了

使用超轻量免费主题

我推荐这个免费轻量主题GeneratePress https://wordpress.org/themes/generatepress/

主题

主题安装完成后,启用GeneratePress

启用

轻量化的主题,数据包很小,可以获得极快的加载速度

轻量主题

至此,一个基于树莓派的WordPress网站就发布到了公网,这个网站后续会存储一些树莓派相关的资源,欢迎访问:https://pi.v2fy.com

为什么推荐轻量化的主题?

  • 轻量化的主题打开速度快,搜索引擎会为打开速度快的网站加分
  • 树莓派网站所在的主机性能强,存储空间也非常廉价,运营成本也低,但流量出口依然在服务器端,流量能省一点是一点儿
  • 轻量化主题没有乱七八糟的样式,观感简洁清新,用户体验好

如何优雅管理WordPress网站?

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, 只要你给树莓派通上电,想什么时候写,就什么时候写,服务器到期了,数据也在树莓派上,想对外展示了,重新部署一下内网穿透,博客又满血复活~

0 人点赞