网上冲浪

博客

一个有点意思的 vuepress 主题:https://80shuo.com/

一个长得像 vscode 的博客主题:https://vscode.kamtao.com/

网站

云看小米 SU7

项目体验地址:https://gamemcu.com/su7/
关于项目:让所有人都能上手体验小米SU7!

GameMCU官网:https://gamemcu.com/

还原云看小米 SU7

来自 alphardex 的创作。
还原过程:SU7,启动!尝试还原了 SU7 网页的炫酷特效
效果地址:su7-replica.netlify.app

灵境至维

灵境至维,用3D技术重塑数字世界
灵境至维 既明科技官网:https://ljzw.net/#/home

网站

可视化配置 Nginx

开源地址:github.com/digitalocean/nginxconfig.io
网站:digitalocean.com/community/tools/nginx

在线进行配置,只需要打开网站:https://nginxconfig.io/

它支持的功能配置:反向代理、HTTPS、HTTP/2、IPv6, 缓存、WordPress、CDN、Node.js 支持、 Python (Django) 服务器等等
按照自己的需求选择场景,填写好参数,系统就会自动生成配置文件。

TasteWP - 一键创建免费的WordPress测试站

使用 WordPress 难免要经常折腾,试用主题、插件什么的。TasteWP 就是可以解决这个需求,可以不先动刀正常运营的站点,也不用(麻烦的)按建站步骤去新建一个站点,专门做测试。

一键就创建免费的WordPress测试站,测试主题和插件功能。新人也可以用来了解学习WordPress后台的操作和功能

使用上和开临时服务一样,它还可以在无需注册的情况下获取一个安装好的 WordPress临时实例,没注册登录的情况下有效期两天。

点击高级设置还支持自定义WP版本和PHP版本,高级WP配置以及选择预安装插件和主题来安装WordPress测试环境。

免费的版本还是有一些限制,但只是围观(新)主题效果、试用插件的话,应该也够用了把(?

传送链接:尝试使用 WordPress – TasteWP

InstallWP

TasteWP相似的工具,但要注册

传送链接:https://instawp.com/

语言相关的各种测试

中文官网:https://www.arealme.com/cn

我们致力于设计并开发原创、高品质、具时效性的各类有趣及有价值的测试产品。其范围包括但不限于心理性格、智力与各类知识、人际关系、影视文学作品角色等。我们希望通过这些测试,您可以感到快乐,收获知识,更可以进一步了解自己。

贴两个语言类(可以看看认识多少字,词汇量又是如何)
中文识字量测试:https://www.arealme.com/how-many-chinese-characters-do-i-know/cn/
中文词汇量测试:https://www.arealme.com/chinese-vocabulary-size-test/cn/

虚拟ICP备

然后就是分享点续虚拟备案萌备后的各种衍生版,是最近冲浪捅到的虚拟备案的窝发现的

MIIT ICP 备案:https://beian.miit.cn.com
官码:https://guan.ma
梵ICP备:https://icp.18z.fun
元ICP备:https://icp.programapps.top
易ICP备:https://icp.dns163.cn
开朗ICP备:https://icp.kldhsh.top
喵喵ICP备案:https://icp.k9b.cn

这一个个挂底部,花里胡哨的一长串,想着就得劲啊。

演唱会

银临「山色有无中」巡演 - 上海站

【银临】上海站壹「山色有无中」完整版第一排视角
【银临】上海站贰「山色有无中」完整版第一排视角

凤凰传奇吉祥如意演唱会

最近刷到凤凰传奇演唱会相关片段后,就有点一发不可收拾了,每天都想去听一天,上头....

常州站

以下两个链接是B 站 UP 兰珩LH 拍摄的音乐现场,没有机会去感受一下巡演现场,那就云听一下
凤凰传奇演唱会常州站|召唤全站云主唱!
凤凰传奇演唱会常州站 2|比上一场状态好

凤凰传奇巡演首站常州!(4k 完整版)(分 P)

以及不同视角:
凤凰传奇演唱会
整齐的前后抡荧光棒:从未见过如此整齐划一的荧光棒Ⅰ凤凰传奇 绿旋风Ⅰ吉祥如意演唱会常州首站
合唱《郎的诱惑》:凤凰传奇 2024 吉祥如意演唱会首站~常州站之郎的诱惑!毅哥一声娘子,台下万千娘子来应!
合唱《全是爱》:凤凰传奇常州 21 号|《全是爱》第一次体验男女对歌,体验感拉爆!

北京站

凤凰传奇演唱会北京站|六万人见证凤凰还巢!
鸟巢首场山顶视角
【凤凰传奇】“吉祥如意”巡回演唱会北京鸟巢 2024.5.5 (山顶视角)
【凤凰传奇】20240504北京鸟巢演唱会第一场
【凤凰传奇】20240505北京鸟巢演唱会第二场

时隔三年,又听到凤凰传奇唱海底了,演唱会首唱。
21 年版:凤凰传奇翻唱《海底》
演唱会版本(不同视角):
多少人的入坑曲啊|凤凰传奇北京演唱会《海底》
海底 鸟巢首场山顶视角
唱哭自己唱哭我|凤凰传奇|海底

动漫

诛仙鬼厉篇

又多了一部可看的动漫!诛仙第 2 季:定档 3 月 30 日

凡人修仙传动画

凡人修仙传播放量破 22 亿!
来自 凡人修仙传动画连续剧 动态

百集上新祝福回顾集合!
百集动画里程碑达成:《凡人修仙传》动画百集里程碑达成!
动画百集编年史回顾:回顾凡人百集精彩,共赴修仙之路!

最近折腾的东西

原服务器系统用的是 CentOS 7,PHP 服务环境也是 7.0 的,在部署一些只支持较新技术的东西时只能退而求其次了,之前是没太多时间去大动环境捣鼓,自己也不想折腾,主打的就是一个能跑就行。

这次折腾的原因是目前自己正好有点时间,一开始是在测试服务器上尝试着在 Ubuntu22.04 安装部署着一些服务,然后搭建部署成功了!然后尘封已久的换系统升级服务的念头就这样又给唤醒了,也就在四月中旬花了点时间迁移更改了下服务器系统也顺便升级了博客服务环境。

顺手记录下流程,然后整理下水了几篇文章
Ubuntu22.04下安装 Nginx + PHP + MySQL(这篇一开始是想整理补充成教程的,写写改改,然后放弃了,最后呈现的是一篇半教程半个人记录的文章)
Ubuntu22.04上搭建 WordPress 以及部署主题 Nuxtjs + WordPress 流程(这篇是纯个人记录,但整体下来也算十分之一篇教程吧,23333)

App付费

不知道从什么时候开始,定期付费App都成习惯了……
谈不上资深用户,就有时候需要,月付费价格高的离谱,付的几个月就够遇上活动折扣的年费价格了,但另一方面,就算是活动付费的年费,一年下来其实又没用多少,纯纯送钱…
粗想了一下自己,常用的一些软件好像都开了个遍…B站,爱奇艺,腾讯视频,QQ音乐,百度网盘……

碎碎叨叨

调整作息,最近一个月以来,发现自己没有熬夜后,洗头发,吹头发,以及枕头边都不会遗落大把的头发了!!!咱也不知道是不是这回事,之前工作一个月有十五六天都在都在通宵,每次注意以上三个地方就是一捡一大把头发...

人生第一次面基,四月中旬,面基了认识七年的 大肥。也喝上了人生中第一杯咖啡 luckin coffee! 想不到有生之年也还能踏进大学里。

吐槽,腾讯视频什么时候也把爱奇艺的视频暂停塞全屏广告给学过来了....,本来有时暂停就是为了看下画面里的东西,这下好了,点了暂停后还要多点一下才能看...。这么看,VIP 的免广告特权这不就只免视频开头广告了,开屏,各页面下的广告是一点不少,现在还有个暂停塞全屏广告(部分)...

反思

社交幽灵,已读不回。

提醒自己珍惜现在的精力,童年时光那种不知疲倦的状态随着年岁渐进离我们越来越远了。

准备

在 Ubuntu22.04 上安装 Docker,本文基于阿里云镜像仓库安装docker。

导入 Docker 的官方 GPG 公钥和添加 Docker CE 的阿里云镜像源

step 1: 安装必要的一些系统工具

sudo apt update
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common

step 2: 安装GPG证书

使用 trusted.gpg.d 目录导入 Docker 的官方 GPG 公钥

下载 GPG 密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

配置 APT 以信任新的密钥

配置 APT 以信任刚刚下载的 GPG 密钥。这涉及到修改或创建一个 /etc/apt/trusted.gpg.d/ 目录下的文件。通常,这个文件会与您要添加的仓库相关联。

step 3:添加 Docker 的存储库:

添加 Docker 的 APT 仓库以便于安装 Docker。

添加 Docker CE 的阿里云镜像源到您的 /etc/apt/sources.list.d/ 目录下的 docker.list 文件中,并且确保它引用了您刚刚创建的 keyring 文件:

# Ubuntu22.04
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list

# Ubuntu 其他版本可以执行此条
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

Step 4: 更新Docker-CE镜像源

apt update

安装指定版本的Docker-CE

Step 5: 查找Docker-CE的版本

apt-cache madison docker-ce

 docker-ce | 5:26.1.0-1~ubuntu.22.04~jammy | https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:26.0.2-1~ubuntu.22.04~jammy | https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:26.0.1-1~ubuntu.22.04~jammy | https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages
 docker-ce | 5:26.0.0-1~ubuntu.22.04~jammy | https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy/stable amd64 Packages

Step 6: 安装指定版本的Docker-CE: (VERSION例如上面的5:26.1.0-1~ubuntu.22.04~jammy)

apt -y install docker-ce=5:26.1.0-1~ubuntu.22.04~jammy docker-ce-cli=5:26.1.0-1~ubuntu.22.04~jammy

Step7: 把Docker服务设为开机启动,并立即启动服务

systemctl enable --now docker

查看docker版本

docker version

# 查看docker信息
docker info

# 查看docker相关文件
dpkg -L docker-ce

安装docker-compose

apt安装

使用sudo apt install docker-compose 安装之前,可以使用 apt-cache policy docker-compose 命令可以显示 docker-compose 包在系统中没有安装,因为apt 大部分情况下安装的都是较老版本。

apt-cache policy docker-compose

如下信息:

root@moshanghua:~# apt-cache policy docker-compose
docker-compose:
  Installed: (none)
  Candidate: 1.29.2-1
  Version table:
     1.29.2-1 500
        500 http://mirrors.cloud.aliyuncs.com/ubuntu jammy/universe amd64 Packages

但有一个候选版本 1.29.2-1 可用。这个候选版本位于 http://mirrors.cloud.aliyuncs.com/ubuntu jammy/universe 这个仓库中。

下载预编译的二进制文件并安装

下载特定版本的 docker-compose

首先,需要找到对应版本的 docker-compose 的下载链接。

可以在 Docker Compose 的 GitHub 发布页面 中找到历史版本。

使用 curl 命令下载

# Ubuntu22.04 64位
curl -SL https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

# Ubuntu 其他版本可以执行此条
curl -L "https://github.com/docker/compose/releases/download/2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这里的 uname -suname -m 分别代表操作系统名称和架构,它们会被替换为 Linux x86_64,从而下载对应的版本。

应用执行权限

下载后,给 docker-compose 文件应用执行权限

sudo chmod +x /usr/local/bin/docker-compose

验证安装

验证 docker-compose 是否安装成功,并检查安装的版本:

docker-compose --version

输出应显示 docker-compose version 2.27.0

手动部署LNMP环境(Ubuntu)

LNMP分别代表Linux、Nginx、MySQL和PHP。安装步骤见文章

本文章仅用作记录,只描述了大概流程,非正经教程。
毫无经验的小伙伴或者想搭建博客的都不建议浪费时间的往下看了,标签页右边的×可以点一下了,

准备工作 一 创建一个数据库

进入数据库创建一个数据库用来存储WordPress的数据。

登录 MySQL

sudo mysql -uroot -p

创建数据库,在这里,database_name 是您想要创建的数据库名称。

CREATE DATABASE database_name;

# 例如,创建一个名为 wp_blog 的数据库
CREATE DATABASE wp_blog;

创建后也可以使用 SHOW DATABASES; 查看数据库,这将列出所有可用的数据库。

# 创建数据库
mysql> CREATE DATABASE wp_blog;
Query OK, 1 row affected (0.01 sec)

# 查看数据库
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wp_blog            |
+--------------------+
5 rows in set (0.00 sec)

mysql>

准备工作 一 配置SSL 证书

申请一个ssl 证书,就可以使用https 协议访问网站。

免费证书腾讯云或者阿里云以及其他地方都有提供申请渠道,申请过程略过。

然后把以.key .pem两个后缀结尾的文字上传到服务器的目录下,什么路径都行,本教程使用的路径是 /etc/nginx/,然后打开修改 nginx 配置文件/etc/nginx/conf.d/default.conf

server {
  listen 443 ssl http2; #监听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议。

  # 引入证书文件开始
  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem; #指定SSL证书文件路径。
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key; # 指定SSL证书密钥文件路径。
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;
  # 引入证书文件结束 
}

再定义一个服务器块,将所有HTTP请求重定向到HTTPS。

server {
  listen 80;
  server_name xm.moshanghua.net ;
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

完整的配置:

server {
  listen 80; # 监听80端口,用于处理未加密的HTTP请求。
  listen 443 ssl http2; # 监听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议。
  server_name localhost;
  root /usr/share/nginx/html/wpblog; # 设置Web服务器的根目录。

  location / {
    index index.php index.html index.htm; # 设置默认的索引文件。
    # 尝试直接访问请求的文件或目录,如果找不到,则重定向到index.php。
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  # 配置PHP请求的处理
  location ~ \.php$ {
    # 尝试直接访问请求的PHP文件,如果文件不存在,则返回404错误
    try_files $uri =404;
    include fastcgi_params; # 包含FastCGI参数文件
    fastcgi_pass 127.0.0.1:9000; # 设置FastCGI服务器地址和端口
    # 设置FastCGI脚本文件路径
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

  # SSL基础配置
  # 引入证书文件开始
  # 指定SSL证书文件路径,.pem前面一串字符改为自己的,路径也确认一下
  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem;
  # 指定SSL证书密钥文件路径,.key前面一串字符改为自己的,路径也确认一下
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key;
  # 设置SSL会话超时时间为5分钟
  ssl_session_timeout 5m;
  # 指定允许的SSL加密算法
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  # 指定允许的SSL协议版本
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  # 设置服务器加密算法优先
  ssl_prefer_server_ciphers on;
  # 引入证书文件结束
}

server {
  # 监听80端口,即HTTP请求的默认端口
  listen 80;
  # 指定了服务器的名称,nginx配置里多站点时建议指向一下具体的域名请求
  # 这里配置为xm.moshanghua.net,意味着它将响应所有指向该域名的请求。
  server_name xm.moshanghua.net ;
  # 这是一条rewrite规则,它将所有请求重定向到HTTPS
  # permanent标志表示这是一个永久重定向,HTTP状态码为301
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

修改Nginx配置后,重启一下:sudo systemctl restart nginx

准备工作 一 源码相关

建议直接 clone 一份源码在本地,修改之后先上传到自己的GitHub仓库,再推到服务器。

这样做方便后续主题更新,可以在本地先改好,能正常运行跑一下流程,确认没问题了再拉取更新,不然直接拉取的话,安装依赖出点问题线上环境也就打不开了。

(本文章本部部分略过,线上直接跑项目)

源码地址:https://github.com/D-xuanmo/Nuxtjs-Wordpress

准备工作 一 端口放行

务器配置放行端口 30003002

下面介绍如何在Ubuntu 22.04搭建wordpress 以及部署主题Nuxtjs + WordPress。

安装 WordPress

首先进入网站根目录,不一定是非得在 /usr/share/nginx/html 目录下,也可以自己接着套文件夹或者另起文件夹,记得去Nginx 配置里同步修改。
本文演示目录为 /usr/share/nginx/html/wpblog

cd /usr/share/nginx/html/wpblog

使用wget 下载WordPress 程序,此链接默认下载最新版本

wget https://cn.wordpress.org/latest-zh_CN.zip

如果不要最新版,也可以前往https://cn.wordpress.org/download/releases/ ,这是为 WordPress 提供的每个记录版本的归档。

下载好后就解压文件

# 新环境,如果没有 unzip 解压工具可以安装一下
sudo apt install unzip

# unzip 命令解压
unzip latest-zh_CN.zip

解压后,文件默认是一起放在 wordpress 目录下,如果不是以此目录作为根目录,就用 mv 命令移动一下,演示的根目录是 /usr/share/nginx/html/wpblog

# 将 wordpress 目录下的所有文件和文件夹移动到 /usr/share/nginx/html/wpblog 目录下
mv wordpress/* /usr/share/nginx/html/wpblog

然后就可以访问解析的域名进行程序引导安装了,点击现在就开始。

数据库名填写前面用命令创建的wp_blog,用户名为MySQL的用户名root,密码为MySQL的登录密码,数据库主机不用改,表前缀改不改都行。

然后提交。

如果出现以下界面,权限不够,无法写入。
您可以使用 chmod 命令来设置权限

# 设置权限
sudo chmod 755 /usr/share/nginx/html/wpblog

# 设置所有者
sudo chown www-data:www-data /usr/share/nginx/html/wpblog

点击运行安装程序就能下一步了。

来到这一步,站点标题和邮箱地址后面都是可以改的,无所谓怎么写。

用户名和密码要认真填写并记住,等下登录后台要用的。

用户名可以自定义字符

点击安装WordPress,就可以看到安装成功的页面。

到这里,WordPress就安装完成了。

输入 https://域名/wp-login.php 就可以访问博客后台了。

设置里可以设置博客的配置,略过.

主题部署

所需环境准备

Nodejs 版本推荐 16.10.x或往上,低于16.10.x会报错模块不兼容。

安装 Nodejs 环境

需要在服务器安装 node 环境,需要大于 16.10.0。

本文章 node 版本为16.17.0,使用 wget 命令下载 Node.js 安装包,文件可以放在 root 目录,具体随意。本文档存放目录为 root目录

该方式使用的安装包是已编译好的二进制文件。解压文件之后,在bin文件夹中就已存在node和npm,无需重复编译。

wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

# 将当前目录更改到根目录
cd ~

# 显示当前工作目录的绝对路径
pwd
/root

wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

该安装包是编译好的文件,解压之后,在 bin 文件夹中就已存在 node 和 npm,无需重复编译。

解压文件 tar xvf node-v16.17.0-linux-x64.tar.xz

创建软链接,使 node 和 npm 命令全局有效。通过创建软链接的方法,使得在任意目录下都可以直接使用 node 和 npm 命令。

语法:

在执行这个命令之前,需要确保有足够的权限来在 /usr/local/bin 目录下创建链接。如果当前登录的用户账户没有足够的权限,可能需要使用 sudo 来执行这个命令

注:如果在下载Node.js 安装包时,不是在 **/root**目录下,那创建软链接时的源文件路径也要做相应更改

ln -s /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

到此已经安装完成,使用 node -v 查看 node 版本,使用 npm -v 查看版本号,如果出现正确版本号则安装成功。

使用 npm 安装其他的全局命令

npm i -g yarn pm2 这条命令是全局安装 yarn 和 pm2。

如果安装比较慢,可以使用淘宝镜像安装,npm i -g yarn pm2 --registry=https://registry.npmmirror.com,后续的安装都可以加上这个。

如果执行了这一步操作,提示 Command 'yarn' not found 或者 Command 'pm2' not found ,可以使用下边两条命令:

ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /root/node-v16.17.0-linux-x64/bin/pm2 /usr/local/bin/pm2

以上命令和前面一样的效果,创建一个名为 /usr/local/bin/yarn 的符号链接,它指向 /root/node-v16.17.0-linux-x64/bin/yarn

这样做的目的是为了方便在任意目录下都能通过 yarn 命令来运行 /root/node-v16.17.0-linux-x64/bin/yarn 这个Yarn的包管理器,而无需每次都输入完整的路径。

完整步骤演示:

# 将当前目录更改到根目录
cd ~

# 显示当前工作目录的绝对路径
pwd
/root

# 下载指定版本nodejs
wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz

# 解压文件
tar xvf node-v16.17.0-linux-x64.tar.xz

# 创建软链接,使 node 和 npm 命令全局有效
ln -s /root/node-v16.17.0-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v16.17.0-linux-x64/bin/npm /usr/local/bin/npm

# 全局安装 yarn 和 pm2
npm i -g yarn pm2 --registry=https://registry.npmmirror.com

#创建软链接,使 yarn 和 pm2 命令全局有效
ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln -s /root/node-v16.17.0-linux-x64/bin/pm2 /usr/local/bin/pm2

运行项目

下载主题到网站根目录

cd /usr/share/nginx/html/wpblog

# 下载源码
wget https://github.com/D-xuanmo/Nuxtjs-Wordpress/archive/refs/heads/master.zip

#解压文件
unzip master.zip

将源码目录下的 service 放入 WordPress 主题目录 wp-content/theme/ 下,并启用此主题

# 进入源码目录
cd Nuxtjs-Wordpress-master/

# 复制目录到主题目录下
cp -r service/ /usr/share/nginx/html/wpblog/wp-content/themes/

# ls命令确认下文件
ls /usr/share/nginx/html/wpblog/wp-content/themes/

进入 Nuxtjs主题设置 ,启用本主题之后,会在外观菜单下加入一个子菜单,将站点前端域名设置为 WordPress 访问地址,确保 http://{domain}/wp-json 能有正确的数据,所有 WordPress 接口都是在这个虚拟目录下;如果访问报错可以尝试在 后台设置=>固定链接 设置为数字型;

访问地址,确保 http://{domain}/wp-json 能有正确的数据。https://xm.moshanghua.net/wp-json

打开目录下Nuxtjs-Wordpress-master/nuxt.config.js文件,修改项目的一些配置,改为自己的信息,如下截图,这一步不是必选的,可以安装完成之后在修改

改完之后再继续往下翻到最后,将下图2个地址改为自己的域名

确认此时是在Nuxtjs-Wordpress-master这个目录,执行 yarn 命令,这一步是安装项目所需要的依赖文件。(warning信息无视就好)

如果比较慢可以使用这个命令 yarn --registry=https://registry.npmmirror.com

依赖安装完成之后,执行 yarn dev,如果能出现以下截图代表能够正常运行项目。

到这里,访问上还是有问题,可以先跳到下面的Nginx 反向代理部分,把配置设置好。

遇到的问题:

但这会通过自己的域名或者 IP 访问 3000 端口还是无响应状态。

在Nginx配置文件里的根目录的请求处理配置部分加入proxy_pass http://127.0.0.1:3000后,

  location / {
    # 这里是每次访问域名将请求转发到3000端口
    proxy_pass http://127.0.0.1:3000;
  }

这下能通过主域名https://xm.moshanghua.net 访问到部分数据,大部分文件请求还是失败的

使用 Nginx 反向代理

需要的是用 80 或者 443 去访问,所以需要用 nginx 做代理,

Tips: 先到数据库找到WordPress的表 wp_options ,修改 siteurlhome 字段,值改为 http://{你的域名}:3002 端口,因为后续WordPress只会作为一个CMS管理系统

登录数据库,切换到WordPress数据库的表 wp_options ,修改 siteurl 和 home 字段

登录和切换数据库

#登录
mysql -u username -p

# 选择数据库,database_name 是想要选择的数据库名称
USE database_name;

# 列出数据库中的所有表
SHOW TABLES;

修改 siteurl 和 home 字段。

使用 UPDATE 语句来修改 wp_options 表中 option_name 字段下 home 的内容

以下是一个示例 SQL 语句,用于将 home 的内容修改为 http://xm.moshanghua.net:3002

# 修改 home 字段
UPDATE wp_options
SET option_value = 'http://xm.moshanghua.net:3002'
WHERE option_name = 'home';

# 修改 siteurl 字段
UPDATE wp_options
SET option_value = 'http://xm.moshanghua.net:3002'
WHERE option_name = 'siteurl';

完整演示:

mysql> SHOW DATABASES;

mysql> USE wp_blog;

mysql> SHOW TABLES;

mysql> DESCRIBE wp_options;

mysql> SELECT option_value FROM wp_options WHERE option_name = 'home';
+---------------------------+
| option_value              |
+---------------------------+
| https://xm.moshanghua.net |
+---------------------------+
1 row in set (0.00 sec)

mysql> SELECT option_value FROM wp_options WHERE option_name = 'siteurl';

mysql> UPDATE wp_options SET option_value = 'http://xm.moshanghua.net:3002' WHERE option_name = 'home';

mysql> UPDATE wp_options SET option_value = 'http://xm.moshanghua.net:3002' WHERE option_name = 'siteurl';

mysql> SELECT option_value FROM wp_options WHERE option_name = 'home';
+-------------------------------+
| option_value                  |
+-------------------------------+
| http://xm.moshanghua.net:3002 |
+-------------------------------+
1 row in set (0.00 sec)

mysql> SELECT option_value FROM wp_options WHERE option_name = 'siteurl';

mysql>



数据库字段修改完后,就再配置下规则:

以下是我的配置文件说明,这一步更多配置需要自己了解一下 nginx 配置:

配置分为两段

第一段,设置了一个监听3002端口的虚拟服务器,专门用于服务WordPress应用程序,用于代替之前的 WordPress 访问端口

# wordpress
server {
  # 这告诉Nginx监听3002端口,并将这个服务器块设置为默认服务器
  # 这意味着如果请求没有指定服务器块,将会由这个服务器块处理
  listen 3002 default_server;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

第二段,设置一个服务器块,它同时监听80和443端口去代理 Nuxt 服务。

server {
  listen 80;
  # 听443端口,用于处理加密的HTTPS请求,并启用HTTP/2协议
  listen 443 ssl http2;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  # 引入证书文件开始
  ssl_certificate   /etc/nginx/xxx.pem; # 指定SSL证书文件路径
  ssl_certificate_key  /etc/nginx/xxx.key; # 指定SSL证书密钥文件路径
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;

  location / {
    # 这里是每次访问域名将请求转发到3000端口
    proxy_pass http://127.0.0.1:3000;
  }

  # 下边两个是代理wordpress的一些服务
  # 配置对/wp-json路径的请求处理
  location /wp-json {
    # 将对/wp-json的请求代理到本地的3002端口
    proxy_pass http://127.0.0.1:3002/wp-json;
  }
  # 配置对/wp-content路径的请求处理
  location /wp-content {
    # 将对/wp-content的请求代理到本地的3002端口
    proxy_pass http://127.0.0.1:3002/wp-content;
  }
}

完整的配置:

# wordpress
server {
  listen 3002 default_server;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

server {
  listen 80;
  server_name xm.moshanghua.net ;
  rewrite ^/(.*) https://xm.moshanghua.net/$1 permanent;
}

server {
  listen 80;
  listen 443 ssl http2;
  server_name xm.moshanghua.net;
  root   /usr/share/nginx/html/wpblog;

  ssl_certificate   /etc/nginx/xm.moshanghua.net.pem;
  ssl_certificate_key  /etc/nginx/xm.moshanghua.net.key;
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_pass http://127.0.0.1:3000;
  }

  # 下边两个是代理wordpress的一些服务
  location /wp-json {
    proxy_pass http://127.0.0.1:3002/wp-json;
  }

  location /wp-content {
    proxy_pass http://127.0.0.1:3002/wp-content;
  }
}

如果成功配置就到这里结束了。

sudo nginx -t测试一下配置,然后重启sudo systemctl restart nginx

再次运行项目

执行 yarn dev,如果能出现以下截图代表能够正常运行项目,

然后用自己的域名访问,如果能够正常访问按ctrl+c 退出即可;

使用 yarn pm2 这条命令去运行项目并开启文件更改自动重载项目,pm2 是 Nodejs 的一个守护进程,使用 pm2 logs 可查看日志。

使用 pm2 save 保存当前的应用列表,使用 pm2 startup 开机自动启动

运行项目完整流程:

 # 安装项目所需要的依赖文件
 yarn --registry=https://registry.npmmirror.com

 # 运行开发环境下的脚本
 yarn dev

 # 运行项目
 yarn pm2

 # 查看运行日志
 pm2 logs

 # 保存当前的应用列表
 pm2 save

 # 开机自动启动
 pm2 startup

至此通过域名https://xm.moshanghua.net/就能正常访问了

博客后台xm.moshanghua.net:3002/admin

博客后台如果不想带端口去访问,也可以NGINX配置下的WordPress一个服务器块里修改下规则反代到指定域名,也可以顺便加上 SSL,走HTTPS访问。

主题设置

Nuxtjs + WordPress主题使用说明请访问https://xuanmo.xin/details/2987

SQL的一些常用命令,使用环境MySQL8.0,个人使用记录,非教程。

部分常用指令

登录 MySQL

sudo mysql -uroot -p

创建数据库在这里,database_name 是您想要创建的数据库名称。

CREATE DATABASE database_name;

查看数据库,这将列出所有可用的数据库。

SHOW DATABASES;

选择数据库,在这里,database_name 是您想要选择的数据库名称。

USE database_name;

列出数据库中的所有表,可以使用 SHOW TABLES

SHOW TABLES;

查看表的结构数据,使用 DESCRIBE ,在这里,datasheets 是您想要选择的数据表名称。

DESCRIBE datasheets;

或者,使用 SHOW COLUMNS 命令

SHOW COLUMNS FROM datasheets;

示例 SQL 语句,查看 wp_options 表的结构:

DESCRIBE wp_options;

查看修改某个表中某字段下的内容

查看表 wp_users 下 user_pass 的内容

SELECT user_pass FROM wp_users;

# 这个查询将显示所有用户的用户名(user_login)和加密后的密码(user_pass)
SELECT user_login, user_pass FROM wp_users;

修改表 wp_users 下 user_pass 的内容bfa0022e2da2d6ea1dfe8cec00964ba7

# 将your_username替换为您想要更改密码的用户名。
# 这个命令会将指定用户的user_pass字段更新为您提供的哈希值
UPDATE wp_users SET user_pass = 'bfa0022e2da2d6ea1dfe8cec00964ba7' WHERE user_login = 'your_username';

例如在按照教程 https://www.xuanmo.xin/details/2987 部署主题时,要修改数据库。内容如下:

Tips: 先到数据库找到WordPress的表 wp_options ,修改 siteurl 和 home 字段,值改为 http://{你的域名}:3002 端口

要查看 wp_options 表中 option_name 字段下 home 的内容,可以使用以下 SQL 查询:

SELECT option_value FROM wp_options WHERE option_name = 'home';

使用 UPDATE 语句来修改 wp_options 表中 option_name 字段下 home 的内容。以下是一个示例 SQL 语句,用于将 home 的内容修改为 http://xm.moshanghua.net:3002

UPDATE wp_options
SET option_value = 'http://xm.moshanghua.net:3002'
WHERE option_name = 'home';

MySQL备份与导入

使用mysqldump工具备份

mysqldump是MySQL自带的逻辑备份工具,可以备份整个数据库或者其中的部分表。以下是一个基本的备份命令:

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

这个命令会提示你输入密码,并将指定的数据库备份到一个.sql文件中。

备份数据库到指定目录

mysqldump -u username -p database_name > /path/to/backup/directory/backup.sql

在这个命令中,username是你的MySQL用户名,database_name 是要备份的数据库名。/path/to/backup/directory/是你要保存备份文件的目录,backup.sql是要保存的备份文件名,名字也可以自己起。
执行这个命令后,会要求你输入密码。输入密码后,等待备份完成。

导入备份

方法一:直接导入 SQL 文件

mysql -u username -p database_name < path/to/backup.sql

这个命令会在登录后直接将 backup.sql 文件的内容导入到 database_name 数据库中。

方法二:登录 MySQL,使用SOURCE 语句。

mysql -u username -p

选择数据库,然后导入文件。

# 如果已经知道要导入的 SQL 文件属于哪个数据库,可以使用以下命令选择数据库:
USE database_name;

# 导入 SQL 文件
# path/to/backup.sql 是 SQL 文件所在的路径。
SOURCE path/to/backup.sql;

博客显示提示建立数据库连接时出错

WordPress博客更换环境后,导入数据库访问提示建立数据库连接时出错,但各种信息是没有问题的。

创建一个的PHP脚本test.php,使用wp-config.php中的数据库连接信息尝试连接到数据库,以检查是否能够成功连接。

<?php
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_database_user');
define('DB_PASSWORD', 'your_database_password');
define('DB_HOST', 'your_database_host');

$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if ($connection) {
    echo "Database connection successful!";
} else {
    echo "Error: Unable to connect to database.";
    echo mysqli_connect_error();
}
?>

显示了Database connection successful! 连接是没问题的。

解决办法...就删掉了wp-config.php文件,复制wp-config-sample.php文件里的内容重新填写了下数据库的内容,再保存为wp-config.php后,就访问正常了.....

验证PHP安装提示 502

nginx配置如下

server {
  listen 80;
  server_name localhost;
  # 网站根目录
  root /usr/share/nginx/html;

  location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

在访问带php文件的页面就显示502

在nginx里的日志看到如下错误信息

[error] 10795#10795: *11 connect() failed (111: Connection refused) while connecting to upstream, client: 171.106.160.15, server: localhost, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xm.moshanghua.net"

错误信息了解到的信息,这里的上游服务器是指PHP-FPM。

错误码111表示连接被拒绝,这意味着Nginx无法与PHP-FPM通信。

sudo systemctl status php7.4-fpm 看了下状态,PHP-FPM服务在正常运行。

ps aux | grep php-fpm命令来查看所有运行中的进程,并且通过grep命令过滤出与php-fpm相关的进程,进程也没问题。

netstat -ant |grep 9000来检查端口9000上的网络连接情况。

这个命令通常用于确认PHP-FPM服务是否正在监听TCP端口9000,因为PHP-FPM默认可能会监听这个端口。

执行这个命令时,您可能会看到类似以下的输出:

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN

但在输出中看不到任何监听端口9000的行,那么PHP-FPM可能没有配置为监听TCP端口9000,或者服务没有运行。

在这种情况下,检查PHP-FPM的配置文件(通常位于 /etc/php/7.4/fpm/pool.d/www.conf 或类似路径),确认listen指令是否正确设置为监听端口9000

不是就修改一下让其指向TCP端口,因为Nginx配置用的也是TCP端口。

但指向套接字文件好像不行,就算Nginx配置里也用Unix socket,也有问题,不知道是不是路径有问题...具体情况没研究了。

一般在 www.conf 文件的30多行的样子,会看到一条listen指令 listen = /run/php/php8.1-fpm.sock

这里把它修改了或者注释重新起一行,让它指向TCP端口

;listen = /run/php/php8.1-fpm.sock
listen = 127.0.0.1:9000

保存后重启一下php-fpm sudo systemctl restart php7.4-fpm

再次访问应该就能看到展示PHP的所有配置信息了。

访问出现An error occurred.

访问出现An error occurred.时

确认Nginx配置里的PHP请求的处理方式部分下fastcgi_param指令。(大概?

fastcgi_param指令用于设置发送到FastCGI服务器的参数

访问出现File not found.

确认输入的文件名...