[图片] 本篇主要来梳理下 pipe 的博客搭建流程 此流程只是梳理下遇见的问题,好让后面的人安装 pipe 的 zip 版别走太多弯路 总结 先声明总结,不想看后面经验(坑)的直接根据总结进行安装 首先需要一个 Linux 环境 然后去 GitHub 搜索 pipe 下载对应发行版本的 zip 包,比如 pipe-1 ..

pipe 博客搭建流程

本篇主要来梳理下 pipe 的博客搭建流程

此流程只是梳理下遇见的问题,好让后面的人安装 pipe 的 zip 版别走太多弯路

总结

先声明总结,不想看后面经验(坑)的直接根据总结进行安装

  1. 首先需要一个 Linux 环境
  2. 然后去 GitHub 搜索 pipe 下载对应发行版本的 zip 包,比如 pipe-1.8.9.zip 这个版本
  3. 修改项目的pipe.json文件,将其中的Server改为你的域名地址,没有域名也使用 ip:端口这个地址,不要用 localhost 和 127.0.0.1,因为网页访问会直接跳转到这个地址,这样会导致只能本地访问
  4. 在项目的console目录使用npm install进行安装webpack的依赖,安装完成后使用npm run build进行打包(没有 npm 的去安装 node.js, 如何安装自行百度)
  5. 然后删除之前npm install生成的node_modules文件夹
  6. 项目的目录theme走 4,5 相同的步骤,安装依赖和打包删除
  7. 安装 golang, yum install -y epel-release, yum install golang -y,然后 go version看是否安装成功
  8. 在项目目录下使用go mod tidy安装 golang 的依赖
  9. 在项目目录下使用go build -i -v打包整个项目,然后会生成一个没有后缀的文件
  10. chmod 777 没有后缀的文件,给这个文件给予运行权限
  11. ./没有后缀的文件,进行启动
  12. 注意这时候启动的软件的地址是上面配置的server, 但是我们想要外网访问还是得配置 nginx 代理到本地 5897 端口
  13. 我这里用了域名所以还需要配置nginx进行反向代理,对应配置如下
  14. 到这里我就可以用kakj.org来访问了
upstream pipe {
    server localhost:5897;
}

server {
    listen 80;
    server_name kakj.org; # 配置为你自己的域名

    location / {
        proxy_pass http://pipe$request_uri;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
    }

    location = /halt.html {
        root /root/pipe/theme; #pipe安装目录
    }

    error_page 502 503 /halt.html;
}

遇到的坑

下载对应的包

访问 GitHub,搜索 pipe, 然后在发行版中寻找你中意的版本,作者好像已经不会对程序进行打包发行了,全部都是 docker 版本,或者是当时的 zip 代码,所以目前你有 2 种选择,一种是直接使用 docker 进行安装,一种是下载 zip 包自己进行打包

docker 进行安装我就省略,太简单,但是不好的地方就是占用内存,本来我 VPS 内存就不多

下载 zip 包进行安装遇见的坑

首先我想要在 windows 对项目进行打包

我打开项目中的 build.sh 文件,跟随里面的命令进行打包,首先遇到第一个问题就是 go 的依赖没有下载,但是 build.sh 中是没有管的直接打包,他默认你的依赖全部弄好了,好吧,我就 go mod tidy 进行安装好依赖,然后直接 go build -i -v 进行打包

打包成功

打包成功发现生成了.exe 文件,这肯定不能在 Linux 上运行,所以这时候我就去找 golang 在 windows 打出 Linux 的包,根据搜索的东西设置了几个环境变量,然后虽然打包成功但是, 启动的时候会报错具体错误原因就是SET CGO_ENABLED=0就是设置了这个环境变量,导致无法使用 sqllite,然后我设置成SET CGO_ENABLED=1,这时候打包的时候出问题,说 gcc 的事情,好吧,这么烦,我干脆直接弄个虚拟机在虚拟机中的 Linux 中打包, 提示即使你有gcc也是报错 , 因为我有台电脑有 gcc 的 go 环境也是报错

  • Pipe

    Pipe 是一款小而美的开源博客平台。如果你不想自己搭建,可以直接使用我们运维的 http://pipe.b3log.org

    100 引用 • 832 回帖 • 263 关注
回帖
请输入回帖内容...