【全网首发】搭建自己的清新文艺微社区 – PaoPao-CE保姆级图文部署教程

星渊清梦 发布于 2025-01-26 526 次阅读


近期撸到了华为云大善人的2.56w企业代金券(初创2.5w+沃土500+考试100),直接一口气开了六台云服,咳咳扯远了,现在我打算基于华为云新加坡的2c2g乌班图服务器搭建一个长期项目贡献给大家,找了一周,发现了这个宝藏项目,支持低配置云服务器流畅运行非常适合个人站点!但发现全网都没有关于此项目的教程,基本都是copy项目github的文档,摸索了一下踩了不少坑才搭建好,所以此文章就这样诞生啦!!

📋 系统环境要求

🖥️ 硬件配置

  • ✨ 推荐配置:2核2G及以上
  • 💡 提示:据说1核512M也可运行(未经验证)
  • 🌏 建议使用非中国大陆服务器,便于访问GitHub等外部资源

⚙️ 软件环境

  • 🐧 操作系统:Ubuntu 22.04 LTS
  • 🔧 Go 1.20+
  • 📦 Node.js 14+
  • 💾 MySQL 5.7+
  • 🌐 Nginx
  • 📊 Redis
  • 🔍 Zinc搜索引擎
  • 🛠️ 宝塔面板(可选,本基础基于宝塔安装)

⚠️ 重要提示

如果你的配置和我一样是2c2g甚至更低,强烈不建议在云服务器上直接编译,建议在本地或更高配置的云服务器编译好后再传到小鸡上运行

🚀 详细部署步骤

1️⃣ Go环境配置

⚠️ 特别提醒:千万不要使用宝塔面板安装golang,否则会出现很多问题(本人已踩坑),如果你安装了,那么请重装系统或自行摸索如何使用宝塔的golang,否则会出现冲突(即使你卸载了,但环境变量等都还在,自行gpt解决指向问题)

执行以下命令安装Go:

# 添加Go官方PPA源
sudo add-apt-repository ppa:longsleep/golang-backports

# 更新软件包
sudo apt update

# 安装Go
sudo apt install golang-go

# 验证安装
go version

安装成功后会显示类似以下输出:

go version go1.23.4 linux/amd64

2️⃣ Node.js安装

方案A - 使用宝塔面板(推荐)

  • 1. 在软件商店搜索"node"
  • 2. 安装Node.js版本管理器
  • 3. 更新版本列表
  • 4. 安装最新稳定版

方案B - 使用apt安装

# 添加NodeSource仓库
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

# 安装Node.js
sudo apt install nodejs

# 验证安装
node --version
npm --version

3️⃣ MySQL配置

推荐使用宝塔面板安装MySQL:

  • 📌 在软件商店运行环境分类中安装MySQL
  • 📝 如遇到"安装失败,文件不存在"错误(如图):

    执行以下命令:

    touch /www/server/panel/install/i_mysql.pl

    然后重新安装

  • 📊 安装phpMyAdmin(需先安装PHP环境,推荐PHP 7.4)

4️⃣ Redis安装

💡 强烈建议使用宝塔面板安装Redis,避免使用apt安装可能出现的连接问题

安装步骤:

  • ✅ 在软件商店运行环境分类中直接安装Redis

5️⃣ Zinc搜索引擎部署

a) 下载安装:

前往官方github发行页面:

点击 Show all 21 assets 展开

找到带有linux_x86_64的下载(大部分云服都是这个架构,如果你是arm或其他则下载其他架构的)

下载后将压缩包中的zincsearch解压上传到服务器中

b) 配置运行:

# 设置执行权限
chmod 777 /root/zincsearch/zincsearch

c) 使用宝塔进程守护:

接下来我们回到宝塔,前往软件商店,搜索关键词【进程守护】,安装第一个

然后点击设置打开

点击添加守护进程

名称自定义

在运行目录填写你的路径 如:/root/zincsearch

在启动命令填写路径+文件名 如:/root/zincsearch/zincsearch

然后点击确定

此时大概率会显示进程异常启动失败,这是正常的

我们点击【配置文件】打开面板

然后插入一行环境变量

environment=ZINC_FIRST_ADMIN_USER="admin",ZINC_FIRST_ADMIN_PASSWORD="【这里填写你的密码,自定义】"

记得把括号一起删掉

如果插入后还是无法启动,则添加系统环境变量:

echo 'export ZINC_FIRST_ADMIN_USER=admin' >> /etc/environment
echo 'export ZINC_FIRST_ADMIN_PASSWORD=【这里填写你的密码,自定义】' >> /etc/environment

执行并不会输出内容,如果没有输出即视为成功

6️⃣ Nginx安装

因本教程采用宝塔结合部署,所以就不出其他的了。前往宝塔的软件商店,切换分类到运行环境,第一页就有Nginx,点击安装即可

🎯 PaoPao-CE部署流程

1️⃣ 获取源码

git clone https://github.com/rocboss/paopao-ce.git

2️⃣ 数据库配置

  • 📊 我们前往宝塔的数据库界面,点击添加数据库,然后输入你的数据库信息
  • 点击你创建的数据库中的导入按钮打开

    点击从本机导入

    点击上方的地址栏,可以直接输入地址,例如我是/root/paopao-ce

    导航到项目根目录后,点击scripts文件夹进入

    选择mysql结尾的sql文件,导入

3️⃣ 后端配置

# 复制配置文件
cp config.yaml.sample config.yaml

这里建议下载到本地进行编辑(如果本地有编辑器了话,例如vsc)

先滑动到最底下,配置基础设置

我们先说几个坑点

第一个就是Redis配置中,地址默认为

redis:6379

我们需要将其替换成

127.0.0.1:6379

其他的同理,必须替换,否则会出现无法连通的问题等,包括数据库与zinc的配置

第二个就是本地文件OSS存储位置配置这里

将Domain的参数替换为你的后端地址域名或ip

默认的是127.0.0.1:8008

其他的自行根据注释配置即可

这里你会发现配置项这么这么多,其实你只需要配置你要用到的,你用不到的直接整个删除即可

注意,你需要在Features配置中也一同删除你不需要的配置项名称

以下是我的配置文件,仅供参考

https://drstth.com/download/paopao.yaml

4️⃣ 前端配置

我们切换到二级文件夹【web】中

这里已经存在.env文件,直接打开(推荐下载到本地进行编辑)

如果你希望后端内嵌web,则第一行的地址为空,如果你希望前后端分离,则这里填写你的后端地址,例如:

VITE_HOST="https://bbsapi.111686.xyz"

其他配置根据你在后端填写的进行配置

以下是我的配置文件,仅供参考

https://drstth.com/download/paopao.env

5️⃣ 编译部署

后端编译:

配置完成后,到这一步存在分叉了,此时你可以选择直接编译后端

进入项目根目录,执行命令:

make build TAGS='slim embed'

此时稍等片刻,编译后的二进制文件在release文件夹中

这时编译的后端是精简版,只有api功能

然后我们前往宝塔的进程守护面板,添加进程守护运行

  • 点击添加守护进程,名称自定义
  • 填写项目根目录的路径
  • 填写路径+release/paopao serve

这时如果没出现启动异常则后端正常运行了

但项目还提供了内置前端web,我们可以连带前端一起编译进去(不推荐)

如果希望内置web,则执行命令:

make build

到这一步,如果内置了web可以直接ng反代上线了,但显然会比前后端分离的性能要低一些,不建议直接拿后端地址运营上线

前端编译:

先切换到前端目录【web】

如果你是通过apt安装的node.js,则你需要安装yarn,宝塔默认安装有yarn了

添加仓库key:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

添加软件源:

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

更新软件包:

sudo apt update

安装yarn:

sudo apt install yarn -y

以上如果卡住全部按回车或者y

然后我们安装依赖,执行命令:

yarn

安装完成之后开始构建前端:

yarn build

这里低运存可能会出现因为运行内存不足而失败的问题,实测4g运行内存可以正常构建,而2g大概率无法正常完成

我们可以打开目录下的package.json文件,将build的值删并替换为:

node --max_old_space_size=4096 node_modules/vite/bin/vite.js build

如果还是不行,建议在本机安装好环境编译,只需要将web这个文件夹下载到本地或其他云服上,编译好再上传即可(如不需要内置web,则直接把编译好的静态文件上传到目录)

编译完成之后,进入到新生成的dist文件夹,复制里面的全部文件,扔到/www/wwwroot/bbs中,其中bbs可以自定义,自行创建一个文件夹存储(由于宝塔的目录限制,只能这样做,如果你不是宝塔运行,则可以直接配置网站目录在web/dist中)

6️⃣ 部署配置

前后端分离部署:

a) 后端配置:

进入宝塔的网站->反向代理->添加反代

然后填写你的后端域名

在目标这里填写 http://127.0.0.1:8008

b) 前端部署:

进入宝塔的网站->HTML项目->添加HTML项目

填入你的前端域名

根目录填入之前复制到的目录

❓ 常见问题解决

1️⃣ 图片加载失败

  • 🔍 检查本地OSS配置中的后端地址设置

2️⃣ 搜索功能异常

  • 🔍 验证Zinc服务运行状态
  • 🔍 检查配置文件中的认证信息

🎉 结语

至此,完整的PaoPao-CE社区系统就部署完成了。如果按照教程逐步操作,应该能够顺利完成部署。如有问题,欢迎在评论区交流!

🌟 DMC微社区-同时也是演示站哦

DMC-十年微社区公益项目现已上线!我们是一个致力于长期稳定运营的社区项目。作为星渊社区的分支版本,我们继承了其优良传统,同时又独具特色。

🛡️ 稳定性承诺

  • ✨ 采用十年期xyz域名
  • 🚀 部署于华为云新加坡节点
  • 💪 确保十年稳定运营支持

📱 社区官方渠道

🌐 社区网址:https://bbs.111686.xyz/

关于作者

如果这篇文章对你有帮助,欢迎点赞、收藏和分享!