pipe博客搭建流程

518 阅读4分钟

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

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

总结

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

  1. 首先需要一个linux环境(目前实测,windows进行打包vue都会出问题,所以直接在linux环境下做全部操作)
  2. 然后去github搜索pipe下载对应发行版本的zip包,比如 pipe-1.8.9.zip 这个版本(目前小于等于1.9.0版本有问题,原因现在要从社区跳转登录,我目前是直接用master打包升级)
  3. 修改项目的pipe.json文件,将其中的Server改为你的域名地址,没有域名也使用ip:端口这个地址,不要用localhost和127.0.0.1,因为网页访问会直接跳转到这个地址,这样会导致只能本地访问
  4. 在项目的console目录使用npm install进行安装webpack的依赖,安装完成后使用npm run build进行打包(没有npm的去安装node.js, 如何安装自行百度)
  5. 项目的目录theme走4相同的步骤,安装依赖和打包
  6. 然后2个目录删除之前npm install生成的node_modules文件夹
  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包进行安装遇见的坑

npm instll太慢, go mod tidy太慢

  1. 使用cnpm怎么安装自行百度
  2. go mod设置代理地址, 直接在项目目录中输入命令export GOPROXY=https://goproxy.cn,然后go mod就加速了

首先我想要在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环境也是报错

windows打包vue

目前我知道的报错就是需要依赖pythen2, 然后theme模块build依赖console install 出来的node_module库

pipe大的变更(从github登录变更为社区登录), 导致小于等于1.9.0版本的全部无法登录

目前我使用的是master的最新代码进行打包升级,相信作者的pipe也是master打包然后存入到docker hub上