《樹莓派4B家庭服務器搭建指南》第十一期:個人博客最佳解決方案,在樹莓派搭建WordPress網站,並開放到公網

在本系列第九期《樹莓派4B家庭服務器搭建指南》第九期:用樹莓派低成本給熱心老哥搭個窩,在樹莓派建立BBS論壇flarum並映射到公網全攻略 https://www.v2fy.com/p/2021-11-26-flarum-1637921368000/ 中,我們完成了PHP環境的搭建,數據庫,Nginx的安裝...

這一節, 我們將在樹莓派運行世界上最受歡迎的網站框架WordPress, 創建網站並開放到公網。這個新網站域名爲pi.v2fy.com 放一些樹莓派相關資源的內容。

套用一句羅老師句式:在樹莓派上運行樹莓派資源網站合適麼?合適的不得了~

從WordPress官網免費下載安裝包到樹莓派

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中的原始文件進行替換修復。

/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;
    }
}
  • 測試配置,並重啓Nginx
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

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, 其中的內容爲

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賬戶密碼,我們需要配置一個權限寬裕的目錄,用來存儲在線下載的主題和插件

在樹莓派運行以下命令

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替代http, 可以將擁有固定ip的服務端的配置小改一下

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裏面

小結

作爲一個博客寫了5年的老鳥,WordPress依然是我最推薦的個人博客框架,有人說WordPress重,但功能豐富總比功能不夠用要好的多,輕量化的主題配合靜態化插件,可以讓網頁加載速度超快,獨立的數據庫可以讓你的博客擁有任何想要的功能,甚至可以基於WordPress魔改出電商網站。

如果你和我一樣熱愛Markdown,用我提供的腳本,不僅可以通過Markdown管理自己的網站,而且還可以將文章內容開源到Github, 創建真正的開源博客,還能每次更新文章體驗一波白嫖Github Actions的快樂。

樹莓派部署WordPress適合長期寫博客:很多人買了雲服務器,買了域名,建個WordPress站依然卡成狗,時間久了,懶得更新,服務到期,數據消散,博客項目不了了之;如果採用樹莓派做主機,樹莓派的性能足以輕鬆運行WordPress, 只要你給樹莓派通上電,想什麼時候寫,就什麼時候寫,服務器到期了,數據也在樹莓派上,想對外展示了,重新部署一下內網穿透,博客又滿血復活~

本文永久更新地址(歡迎來讀留言,寫評論):

https://www.v2fy.com/p/2021-12-01-wordpress-pi-1638367676000

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章