前言

蒲公英,维护后把我上传的包清除了,所以想自己搭建一个用下。

步骤

项目用ruby语言写的,部署起来也很简单支持源码和Docker部署

GitHub | https://github.com/pluosi/app-host

安装Ruby并配置为国内源

安装Ruby的包

# yum install ruby rubygems ruby-devel -y
# gem -v
2.7.8
# gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
https://gems.ruby-china.com/ added to sources
source https://rubygems.org/ not present in cache
# gem sources -l
*** CURRENT SOURCES *** https://gems.ruby-china.com/

安装puma

# gem install puma

运行项目

# git clone https://github.com/pluosi/app-host.git /opt/app-host
# cd /opt/app-host
# cp config/settings.local.example.yml config/settings.local.yml
修改 config/settings.local.yml 中 `PROTOCOL` 和 `HOST` ,本地测试PROTOCOL可以为 http,生产环境必须设置为https,因为 iOS OTA 安装需要
bundle install
rails s 运行测试环境
关于部署到生成环境的话请参照一下 rails puma 部署等教程,需要修改一下 config/deply.rb 的部署地址
尝试访问 http://localhost:3000

期间遇到了一个错,ruby版本的问题,重新安装了2.5.1的版本的就跑起来了

Ruby——报错总结

Nginx配置

 if ($ssl_protocol = "") { return 301 https://$host$request_uri; }

  location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-forwarded-for $remote_addr;
proxy_pass http://127.0.0.1:3000;
} include /usr/local/nginx/conf/rewrite/none.conf;
#error_page 404 /404.html;
#error_page 502 /502.html; location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
} location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
proxy_pass http://127.0.0.1:3000;
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
proxy_pass http://127.0.0.1:3000;
expires 7d;
access_log off;
}

总结

整个部署起来,其实难度不大,不过解析包有点慢,下载的时候也有点慢(服务器网络原因),如果可以接入外部存储就好咯

APP——Ruby开源分发平台搭建的更多相关文章

  1. 青岛大学开源OJ平台搭建

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  2. 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(二)

    O2OA平台搭建 O2OA的开发环境非常简单,安装服务器后即可通过浏览器进行开发了和使用.具体可参考文档库中的其他文档,有比较详细的介绍,这里就不再赘述了. Arduino开发发环境搭建 安装Ardu ...

  3. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  4. Jenkins Gitlab持续集成打包平台搭建

    http://www.cnblogs.com/skyseraph/p/5695021.html 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的 ...

  5. GitHub代码托管平台搭建

    GitHub代码托管平台搭建 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/. 之后就可以创建仓库了(免费 ...

  6. 移动APP漏洞自动化检测平台建设

    移动APP漏洞自动化检测平台建设   前言:本文是<移动APP客户端安全笔记>系列原创文章中的第一篇,主要讲的是企业移动APP自动化漏洞检测平台建设,移动APP漏洞检测发展史与前沿技术,A ...

  7. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  8. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  9. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

随机推荐

  1. WeakhashMap源码2

    public class WeakHashMapIteratorTest { @SuppressWarnings({ "rawtypes", "unchecked&quo ...

  2. mount和umount命令使用

    1.mount命令 在Linux系统下,mount命令用于加载文件系统到指定的加载点. (1)命令语法 mount(选项)(参数) (2)常用选项说明 -V:显示版本. -l:显示已加载的文件系统列表 ...

  3. drf面试题及总结

    drf面试题及总结 1.什么是前后端分离 2.什么是restful规范 3.模拟浏览器进行发送请求的工具 4.查找模板的顺序 5.什么是drf组件 6.drf组件提供的功能 7.drf继承过哪些视图类 ...

  4. linux - 用户配置文件

    用户配文件: 1用户信息文件 /etc/passwd   2 影子文件 /etc/shadow  3  组信息文件 /etc/group 4 组密码文件 /etc/gshadow 1 用户信息文件 / ...

  5. 基于Mybatis-Plus实现自动化操作创建时间和修改时间

    引入 在实际开发中,总会避免不了操作数据库,而在数据库中每个表都会有create_time和update_time字段记录操作时间,我们在操作这两个时间的时候也可能会出现不一致的情况,或者说这两个字段 ...

  6. windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置

    Nginx,不用多说啦,大家都熟悉的不能再熟悉了,它是一款轻量级的高性能Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,最近在本地研究将nginx和resin配合使用,使服务 ...

  7. K8S学习笔记之Grafana App for Kubernetes的配置

    Grafana有一套针对Kubernetes监控的APP,和Grafana-Zabbix App类似,但是配置咋一看比较麻烦,主要参数都是来自K8S. 这款APP的详细介绍请参考Grafana App ...

  8. LaTeX转义特殊符号

    转义字符在LaTeX中有一些符号被用于特殊的用途,如 \\      \backslash\ 符号被用于命令的转义,直接在LaTeX中输入这些符号是无法正确得到这些符号的,甚至会引起LaTeX的报错. ...

  9. XML Schema 基本结构

    <?xml version='1.0'?> <Schema name="cangchuSchema" metamodelVersion="4.0&quo ...

  10. C#:Json字符串、JsonArray字符串处理

    今天在做Asp网站开发的时候接受到了一种下面这种样子的字符串: "[ { "mid": "123456", "nid": &quo ...