Build, Deploy and Run a Ruby Application · Fly Docshttps://fly.io/docs/getting-started/ruby/首先使用命令在项目文件夹安装curl -L https://fly.io/install.sh | sh

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  1415    0  1415    0     0   1889      0 --:--:-- --:--:-- --:--:--  1886
######################################################################## 100.0%
set channel to shell
flyctl was installed successfully to /home/linlin/.fly/bin/flyctl
Manually add the directory to your $HOME/.bash_profile (or similar)export FLYCTL_INSTALL="/home/linlin/.fly"export PATH="$FLYCTL_INSTALL/bin:$PATH"
Run '/home/linlin/.fly/bin/flyctl --help' to get started

把这些代码放进文件中vim ~/.bashrc

export FLYCTL_INSTALL="/home/linlin/.fly"export PATH="$FLYCTL_INSTALL/bin:$PATH"

flyctl auth login

登录进flyctl,再次运行新的APP就不需要登录了 ,直接创建运行就可以,运行命令rackup

把本地的一个简单的应用,部署到远程

例如一个sinatra 应用。

app.rb

#!/usr/bin/env rubyrequire 'rubygems'
require 'bundler/setup'
require 'sinatra'get '/' do"<h1>Hello From Ruby on Fly!</h1>"
endget '/:name' do"<h1>Hello From Ruby on Fly!</h1></br>and hello to #{params[:name]}"
end

Gemfile:

source 'https://rubygems.org'ruby '3.1.0'
gem 'sinatra'
gem 'puma'

config.ru

require './app.rb'run Sinatra::Application

本地运行:$ rackup

Puma starting in single mode...
* Puma version: 5.6.4 (ruby 3.1.0-p0) ("Birdie's Version")
*  Min threads: 0
*  Max threads: 5
*  Environment: development
*          PID: 300873
* Listening on http://127.0.0.1:9292
* Listening on http://[::1]:9292
Use Ctrl-C to stop

在远程运行   flyctl  launch 注意在存在rb  Gemfile文件夹内,此时是错误的文件夹

第一次在远程运行会出现加载较慢的情况,后续就不会了。

创建APP的时候,注意名称不要重复,不要下划线,可以选择公开与否和地区。

可以发现,在本地代码文件夹,会多出一个文件: fly.toml

# fly.toml file generated for 1234 on 2022-06-02T17:17:57+08:00app = "1234"kill_signal = "SIGINT"
kill_timeout = 5
processes = [][env][experimental]allowed_public_ports = []auto_rollback = true[[services]]http_checks = []internal_port = 8080processes = ["app"]protocol = "tcp"script_checks = [][services.concurrency]hard_limit = 25soft_limit = 20type = "connections"[[services.ports]]force_https = truehandlers = ["http"]port = 80[[services.ports]]handlers = ["tls", "http"]port = 443[[services.tcp_checks]]grace_period = "1s"interval = "15s"restart_limit = 0timeout = "2s"

远程会出现项目,点击进入,是详情页面 可以看到详细的信息

如何做部署  flyctl deploy  (前提:需要有个  fly.toml 文件)

执行命令,报错也没关系,因为不是在本地的docker运行的

点击1234hostname的网址并不能打开页面,那么出错了,应该在hi目录下增加文件fly.toml,重新运行刚才的命令

linlin@linlin-i5:/workspace/blog_fly/hi$ flyctl  launch

===> EXPORTING
Adding layer 'heroku/ruby:env'
Adding layer 'heroku/ruby:gems'
Adding layer 'heroku/ruby:ruby'
Adding 1/1 app layer(s)
Adding layer 'launcher'
Adding layer 'config'
Adding layer 'process-types'
Adding label 'io.buildpacks.lifecycle.metadata'
Adding label 'io.buildpacks.build.metadata'
Adding label 'io.buildpacks.project.metadata'
Setting default process type 'web'
Saving registry.fly.io/1232:cache...
*** Images (dfe5ceea3db5):registry.fly.io/1232:cacheregistry.fly.io/1232:deployment-1654162525
Adding cache layer 'heroku/ruby:gems'
--> Building image done
==> Pushing image to fly
The push refers to repository [registry.fly.io/1232]
87dc756f0bc5: Pushed
a248e8c4fc0a: Pushed
195ce6778985: Pushed
b8a76ee77a47: Pushed
fd941a6af848: Pushed
70d0bf6c5fc0: Pushed
a1e3b8b5e582: Pushed
0b9d6a2b9aef: Pushed
219a884327cf: Pushed
6c6007ce9a6d: Pushed
c2fb59d1c64c: Pushed
bf8cedc62fb3: Pushed
deployment-1654162525: digest: sha256:3e73d65e03c43918798c6476038bbeefd61eab82b854c658a82c11b7e945c332 size: 2826
--> Pushing image done
image: registry.fly.io/1232:deployment-1654162525
image size: 657 MB
==> Creating release
--> release v2 created--> You can detach the terminal anytime without stopping the deployment
==> Monitoring deploymentv0 is being deployed

运行的时间也是比较慢的,可以在远程看到新的APP已经是绿色的可以用了,

在详情页面也可以看到,增加了许多内容

点击hostname进入网址,可以看到我们写的app

添加参数,也可以正常使用

设置ssl 域名

点击图中的选项,可以进行域名的设置

保存之后,就可以输入域名进行访问了

不需要的项目可以进行删除,比如最先创建的错误的APP1234

fly.io ruby on rails相关推荐

  1. Install ruby on rails in Ubuntu 12.04

    参考:http://ruby-china.org/wiki/install-rails-on-ubuntu-12-04-server 简述如下 1. 更改源并update 2. Install 第三方 ...

  2. [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序

    本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...

  3. Ruby On Rails 4 hello world,Ruby On Rails上手

    有机会再试一试Rails了,只是原来接触的是2,现在已然变成了4,似乎现在的安装比原来会快些.. Rails 4 安装 针对于安装了RVM gem install rails 没有的话应该主 sudo ...

  4. 在Mac上安装Ruby on Rails

    前两天写了博文提到安装Ruby on Rails时系统没有响应的问题,后来就有人问我在Mac上安装Ruby on Rails的完整过程,所以记录在这里,供大家参考. 1. 安装xCode的Comman ...

  5. 用Ruby on Rails实现适应各种平台的在线Office文档预览

    前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有可能是iOS系统的iPad.一般来说,要预览的文档通常是主流的Offi ...

  6. 用 Ruby on Rails 实现适应各种平台的在线 Office 文档预览

    http://ruby-china.org/topics/17309 前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有 ...

  7. How to Generate PDF in Ruby on Rails(HowtoGeneratePDFs) ZT

    本文转载自: https://www.cnblogs.com/hardrock/archive/2006/07/24/458184.html 作者:hardrock 转载请注明该声明. This ho ...

  8. Ruby on Rails 教程之快速入门

    一,简介 Ruby on Rails是一个框架,一个使Web 应用的开发.部署和维护变得更容易的框架.自从发布第一个版本以来, Rails 已经从一个默默无闻的玩具蜕变成了一种世界性的现象.它拿下了一 ...

  9. Ruby on Rails已死?GitLab:我还在用呢!

    整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) Ruby语言曾在2013至2015年期间非常流行,但随后流行度下降.早在3年前就在业界传出过**"Ruby及R ...

最新文章

  1. C++ 中NULL 和 nullptr 的区别
  2. 物品推荐系统中的挑战和解决方案
  3. 并查集数据结构的几种实现
  4. [原创]K8域控植入脚本生成器(内网渗透/RPC不可用解决方案)
  5. mixin network_基于Mixin Network的PHP比特币开发教程: 机器人接受比特币并立即退还用户...
  6. python官网怎么改中文-如何配置pycharm为中文?
  7. Ribbon负载均衡策略配置
  8. 关于数位动规(入门到进阶,难度中档)
  9. linux kernel 中mdelay() 与msleep()的区别
  10. ant的下载与安装——mybatis学习笔记之预备篇(一)
  11. C#中json序列化与反序列化
  12. [转]Android产品研发(十九)
  13. node-sass安装报错node-sass@4.12.0 postinstall: `node scripts/build.js`
  14. winform调用websocket_C#基于websocket的前台及后台实时推送
  15. spring引入properties变量报错
  16. ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memor
  17. Phantomjs 生成多页PDF
  18. 中专计算机应用专业简历模板,2016计算机应用专业个人简历模板
  19. 手机怎么断开电脑微信连接服务器,微信如何用手机退出电脑登录不了怎么办
  20. win7 关闭计算机休眠,技术编辑教您win7下怎么关闭休眠

热门文章

  1. 求解tsw30浊度传感器
  2. 华为云桌面,带你见识不一样的系统桌面
  3. Mysql 中的事物
  4. Java爬去教务系统后怎么发布_GitHub - canliture/CrawlerCourseTable: 课程表的java爬虫实现--基于“强智教务系统”...
  5. BTN7971B电机驱动设计(含原理图)
  6. 用上瘾模型来看:艾威学院
  7. 【Python黑科技】lxml库爬虫实战-爬取句子控的名人名言句子(保姆级图文+实现代码)
  8. Java+控制台 商城销售系统
  9. eclipse新建java项目报错 jrt-fs.jar
  10. (一)PCL 1.12 + VS2019 环境配置