fly.io ruby on rails
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相关推荐
- Install ruby on rails in Ubuntu 12.04
参考:http://ruby-china.org/wiki/install-rails-on-ubuntu-12-04-server 简述如下 1. 更改源并update 2. Install 第三方 ...
- [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序
本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...
- Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,只是原来接触的是2,现在已然变成了4,似乎现在的安装比原来会快些.. Rails 4 安装 针对于安装了RVM gem install rails 没有的话应该主 sudo ...
- 在Mac上安装Ruby on Rails
前两天写了博文提到安装Ruby on Rails时系统没有响应的问题,后来就有人问我在Mac上安装Ruby on Rails的完整过程,所以记录在这里,供大家参考. 1. 安装xCode的Comman ...
- 用Ruby on Rails实现适应各种平台的在线Office文档预览
前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有可能是iOS系统的iPad.一般来说,要预览的文档通常是主流的Offi ...
- 用 Ruby on Rails 实现适应各种平台的在线 Office 文档预览
http://ruby-china.org/topics/17309 前言 在许多Web应用中都需要预览文档的功能.而用户可能用不同的设备访问Web应用,可能是装有Windows系统的PC台式机,也有 ...
- How to Generate PDF in Ruby on Rails(HowtoGeneratePDFs) ZT
本文转载自: https://www.cnblogs.com/hardrock/archive/2006/07/24/458184.html 作者:hardrock 转载请注明该声明. This ho ...
- Ruby on Rails 教程之快速入门
一,简介 Ruby on Rails是一个框架,一个使Web 应用的开发.部署和维护变得更容易的框架.自从发布第一个版本以来, Rails 已经从一个默默无闻的玩具蜕变成了一种世界性的现象.它拿下了一 ...
- Ruby on Rails已死?GitLab:我还在用呢!
整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) Ruby语言曾在2013至2015年期间非常流行,但随后流行度下降.早在3年前就在业界传出过**"Ruby及R ...
最新文章
- C++ 中NULL 和 nullptr 的区别
- 物品推荐系统中的挑战和解决方案
- 并查集数据结构的几种实现
- [原创]K8域控植入脚本生成器(内网渗透/RPC不可用解决方案)
- mixin network_基于Mixin Network的PHP比特币开发教程: 机器人接受比特币并立即退还用户...
- python官网怎么改中文-如何配置pycharm为中文?
- Ribbon负载均衡策略配置
- 关于数位动规(入门到进阶,难度中档)
- linux kernel 中mdelay() 与msleep()的区别
- ant的下载与安装——mybatis学习笔记之预备篇(一)
- C#中json序列化与反序列化
- [转]Android产品研发(十九)
- node-sass安装报错node-sass@4.12.0 postinstall: `node scripts/build.js`
- winform调用websocket_C#基于websocket的前台及后台实时推送
- spring引入properties变量报错
- ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memor
- Phantomjs 生成多页PDF
- 中专计算机应用专业简历模板,2016计算机应用专业个人简历模板
- 手机怎么断开电脑微信连接服务器,微信如何用手机退出电脑登录不了怎么办
- win7 关闭计算机休眠,技术编辑教您win7下怎么关闭休眠
热门文章
- 求解tsw30浊度传感器
- 华为云桌面,带你见识不一样的系统桌面
- Mysql 中的事物
- Java爬去教务系统后怎么发布_GitHub - canliture/CrawlerCourseTable: 课程表的java爬虫实现--基于“强智教务系统”...
- BTN7971B电机驱动设计(含原理图)
- 用上瘾模型来看:艾威学院
- 【Python黑科技】lxml库爬虫实战-爬取句子控的名人名言句子(保姆级图文+实现代码)
- Java+控制台 商城销售系统
- eclipse新建java项目报错 jrt-fs.jar
- (一)PCL 1.12 + VS2019 环境配置