首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序

我们将使用Capistrano自动执行常见部署任务,因此每次我们必须将新版本Rails应用程序部署到服务器时,我们都可以通过一些简单命令来实现。...install rails -v '4.2.0' -V --no-ri --no-rdoc 第五步 - 设置SSH密钥 由于我们要设置流畅部署,因此我们将使用SSH密钥进行授权。...输入以下命令来捆绑您Rails应用程序: $ bundle 捆绑后,运行以下命令配置Capistrano: $ cap install 这将创建: Capfile 在您Rails应用程序目录中...,可帮助您管理应用程序版本并在进行部署时自动执行某些任务: 使用production作为Rails应用程序默认环境 自动管理应用多个版本 使用优化SSH选项 检查您git遥控器是否是最新 管理您应用日志...这会侦听端口80上流量并将请求传递给您Puma套接字,将nginx日志写入应用程序“当前”版本,压缩所有资产并在浏览器中将其缓存到最大到期时间,在公共场合提供HTML页面文件夹作为静态文件,设置默认最大值

5K40

如何使用Capistrano自动部署:入门教程

目录 1. Capistrano Ruby编程语言 Capistrano操作方式 系统/服务器管理 应用程序部署 2....应用程序部署 部署应用程序(无论是网站,API还是服务器)通常意味着从头开始(或从及时拍摄快照)设置系统,通过更新所有内容,下载依赖项,设置文件来准备它结构和权限,然后最终上传您代码库 - 或使用源控制管理器...安装: cap --version ​ # Capistrano Version: 3.1.0 (Rake Version: 10.1.0) Capistrano 入门 一旦设置好所有必要组件准备就绪...注意:所推荐Capistrano包含你仓库内任何敏感信息(如数据库连接安全凭证)。...我们现在准备使用Capistrano进行部署。 ---- 参考文献: 《 How To Use Capistrano to Automate Deployments: Getting Started》

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序

介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效设置。...教程准备 本教程假定您将在部署应用程序用户上安装了安装了以下软件Ubuntu 14.04服务器(没有服务器同学可以在这里购买,不过个人更推荐您使用免费腾讯云开发者实验室进行试验,学会安装后再购买服务器...使用以下命令退出PostgreSQL控制台: \q 现在,我们已准备好使用正确数据库连接信息配置您应用程序。 配置数据库连接 确保您位于应用程序目录(cd ~/appname)中。...安装rbenv-vars插件 在部署生产Rails应用程序之前,应使用环境变量设置生产密钥和数据库密码。...您已使用Nginx和Unicorn部署了Ruby在Rails应用程序生产环境。 如果您希望改进生产Rails应用程序部署,您应该查看我们的如何使用Capistrano自动部署教程系列。

4.2K00

为什么Capistrano被Docker和Kubernetes取代了

记得在十多年前曾将Capistrano用作远程服务器自动化工具。它会使用SSH按照脚本允许您将更新部署到目标服务器。...如果您需要在新站点上处理部署除了您自己偏爱工具之外,拥有一系列工具也很好。您甚至可能不得不在旧堆栈中使用Capistrano。因此,让我们来评估这件古董,看看它有多大价值。...使用这些定义,Capistrano可以针对特定计算机执行操作。 任务和角色 Capistrano基本命令是任务。这些是在部署不同阶段执行。...更好说法可能是,像Capistrano这样工具出现在任何团队部署之旅路径上,作为在需要更广阔视野之前一个路径点。...但即使作为一个蒙尘遗迹,Capistrano仍然是一个伟大模块化工具,用于自动化Web应用程序部署和维护。 至于加利福尼亚州Capistrano?恐怕是坏消息。

6410

利用Kamal摆脱Kubernetes复杂性

最近写了一篇关于 Capistrano 文章,没想到会再次提及它,因为它是早期应用部署历史遗迹。...但这是来自 37Signals ,所以你可以想象他们部署一个 Rails 应用程序。因此,有关数据库、负载均衡器等方面都有所提及。...# env: # clear: # DB_HOST: 192.168.0.2 # secret: # - RAILS_MASTER_KEY 因此,您将为您服务器设定目的地,指定要部署镜像名称...如预期那样,如果现在执行此操作,系统会迅速告诉没有内容可以交流: 那么,Kamal 如何处理所有指定和可用服务器呢? 连接到服务器后,如果需要,它将安装 Docker 和 curl。...在推送环境变量之后,它将使用当前版本应用程序启动一个新容器,停止旧容器。 如果您对应用程序进行了更改,那么在初始设置之后,kamal deploy 将更新您系统。

7610

Ruby On Rails 之父下云后:系统好用又便宜,还清理了几千行代码

但在这样过程中,我们不可避免地要积累下一定技术债务和复杂性。除了部署策略之外,我们还需要发明新工具来管理这些堆栈,创建贴合需求 CI/CD 来支撑运营和编程。...这样就能保住多年以来投入建设资产,“单纯”把我们工具重新部署在新位置。 另一个挑战是,我们大部分应用程序在几年之前就完成了容器化,为了继续兼容遗留资产,我们希望保持这种状态。...我们既能保留大量现有容器化技术,又能以相当熟悉全新方式运行应用程序。 多年以来,我们一直在数据中心内用 capistrano 部署。...这里一切就是最基础 Ruby、Rails 还有 Docker,Docker 还被包含在 mrsk 当中。 现在我们部署时间从几分钟缩短到了大约一分钟,有时候还更短。...其实 K8s 里一切有价值东西都不是现成,需要稍后添加自主管理。容器运行时、存储部署信息数据库、网络设置和管理、存储设置和管理等等,这一切都不是 Kubernetes 本体。

84430

Debian 9下安装Ruby on Rails与NGINX

在生产中部署Rails应用程序时,开发人员可以从几个流行应用程序服务器中进行选择,包括Puma,Unicorn和Passenger。...如果您不熟悉该sudo命令,可以查看我们“ 用户和组”指南。 开始之前 按照入门和保护服务器指南进行操作,设置Linode主机名。...安装正确配置后,发出以下命令: sudo apt-get install libmysqlclient-dev 部署Rails应用程序 将您Rails应用程序复制到您Linode。...导航到应用程序目录安装所有依赖项: cd railsapp bundle install Rails需要JavaScript运行时。...您Rails应用程序现在应该是活动。 下一步 现在应用程序正在运行,请考虑使用Capistrano等构建工具或Travis或Jenkins等持续集成(CI)工具来加速部署工作流程。

3.5K20

RubyMine 2022 Mac(Ruby代码编辑器) 中文版

代码片段在您代码中输入最常用模式结构实时模板。使用预定义片段创建自己片段。智能编辑通过代码评论,扩展/缩小选择,内联正则表达式检查,同步标签编辑等功能提高工作效率。...在Rails应用程序中快速切换模型,视图和控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...3.Ruby工具使用集成Rake,Bundler等等运行Rails生成器和服务器,Rake和Bundler任务。使用模型/类/ gem依赖关系图分析项目结构。...内置控制台通过使用集成Rails,IRB,SSH控制台和本地终端,在不离开IDE情况下运行脚本和应用程序。...部署工具通过FTP或SFTP配置自动部署使用Vagrant,Docker,Capistrano,Chef和/或Puppet轻松管理您基础架构。

2K10

JetBrains RubyMine 2022 Mac(Ruby代码编辑器)

代码片段在您代码中输入最常用模式结构实时模板。使用预定义片段创建自己片段。智能编辑通过代码评论,扩展/缩小选择,内联正则表达式检查,同步标签编辑等功能提高工作效率。...在Rails应用程序中快速切换模型,视图和控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...3.Ruby工具使用集成Rake,Bundler等等运行Rails生成器和服务器,Rake和Bundler任务。使用模型/类/ gem依赖关系图分析项目结构。...内置控制台通过使用集成Rails,IRB,SSH控制台和本地终端,在不离开IDE情况下运行脚本和应用程序。...部署工具通过FTP或SFTP配置自动部署使用Vagrant,Docker,Capistrano,Chef和/或Puppet轻松管理您基础架构。

2.1K10

如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

这个特殊设置使用简单“post-receive”Git hooks,除了Puma作为应用服务器,Nginx作为Puma反向代理,PostgreSQL作为数据库。...准备你Rails应用程序 在您开发机器上,很可能是您本地计算机,我们将准备您要部署应用程序。 可选:创建Rails应用程序 理想情况下,您已经拥有了要部署Rails应用程序。...保存退出。这会将Puma配置为应用程序位置,以及其接口,日志和PID位置。随意修改文件,或添加您需要任何其他选项。...我们将把我们应用程序部署到用户主目录中名为“appname”目录中。在我们示例中,它将是以下内容(请务必更新应用程序所在路径): /home/deploy/appname 保存退出。...当生产远程接收推送时,它将执行我们之前设置post-receivehook脚本。如果正确设置了所有内容,现在应该可以在生产服务器公共IP地址上使用应用程序

2.5K60

微服务设计模式 - 1. 单体应用模式

考虑因素 这是一个团队开发项目,有一个独立团队负责 团队成员会发生变化,新加入成员必须快速上手项目 应用程序必须易于理解修改 期望能实现应用持续集成与部署 必须可以多实例部署应用程序,以满足可伸缩性和可用性要求...想用比较新技术(框架、编程语言等) 解决方案 使用单体架构,例如: 一个 Java WAR 文件启动程序 一个单目录 Rails 或者 NodeJS 程序 举例 假设现在正在设计一个电商应用,功能包括接收来自客户订单...Rails 应用程序部署在 Nginx 或 Tomcat 上 JRuby 或 Nginx 上单一目录层次结构组成。可以在负载均衡器后面部署多个实例,以扩展和提高可用性。 ?...分析 这种解决方案好处有: 开发简单,当前 IDE 基本都是按照开发单体应用程序开发部署简单,只要把一个文件或者目录部署到 Web 容器里即可。...单块应用程序问题在于它阻止了团队独立工作。小组必须协调他们开发工作和重新部署。对于一个团队来说,进行更改和更新生产要困难得多。 需要长期使用同一个技术栈。

79530

如何在Ubuntu 14.04上使用Puma和Nginx部署Rails应用程序

介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效设置。...自建服务器难免会遇到这样问题,配置SSL很麻烦,虽然对一部分人来说这也是一种乐趣,但是如果您在生产环境使用还是建议您直接使用云关系型数据库,云关系型数据库让您在云中轻松部署、管理和扩展关系型数据库...使用以下命令退出PostgreSQL控制台: \q 现在,我们已准备好使用正确数据库连接信息配置您应用程序。 配置数据库连接 确保您位于应用程序目录(cd ~/appname)中。...安装rbenv-vars插件 在部署生产Rails应用程序之前,应使用环境变量设置生产密钥和数据库密码。...保存退出。这会将Puma配置为应用程序位置,以及其套接字,日志和PID位置。随意修改文件,或添加您需要任何其他选项。

5.4K10

60 个最棒 DevOps 开源工具

编者按:DevOps越来越流行,越来越成为加快产品研发速度、提升团队效率有效工具。现在,在开发、测试、部署、交付、维护以及监控分析等工作中,有越来越多开源DevOps工具可以使用。...开源中国 Git 代码托管平台:http://git.oschina.net/ 代码托管平台 GitLab GitLab 是一个利用 Ruby on Rails 开发开源应用程序,实现一个自托管Git...Capistrano Capistrano 是一个用来并行在多台机器上执行相同命令工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用。...Powershell OpenStack Heat 维护 日志记录 Logstash Logstash 是一个应用程序日志、事件传输、处理、管理和搜索平台。...你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

4.4K31

60个DevOps开源工具,你在用哪些?

2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发开源应用程序,实现一个自托管Git项目仓库,可通过Web界面进行访问公开或者私人项目。...事实上,由于 Maven 面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 比例在持续增长。...2.Capistrano Capistrano 是一个用来并行在多台机器上执行相同命令工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用。...4.Powershell 5.OpenStack Heat 五、维护 日志记录 1.Logstash Logstash 是一个应用程序日志、事件传输、处理、管理和搜索平台。...你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

83520

微服务模式系列之一:整体式架构

译者自序: 熟悉朋友都知道,很不喜欢翻译东西,因为在两种语言思维方式之间做频繁切换对来说是件很痛苦事情。...单个Rails或者NodeJS代码目录层级。 举例 假设需要构建一款电子商务应用程序,使其能够接收来自客户订单、验证库存信息与可用信用额度,而后进行发货。...一个Rails应用由单一目录层级构成,该目录层级部署通过在Apache/Nginx上使用Phusion Passenger,或者在Tomcat上使用JRuby得以实现。...易于部署——你只需要将该WAR(或者目录层级)部署在合适运行环境中即可。 易于扩展——你可以在负载均衡器后面运行多个应用副本实现扩展。...重新部署会增加风险,进而阻碍频繁更新。因为用户界面开发者经常需要进行快速迭代与频繁重新部署,所以这对用户界面开发者而言更加是个难题。 应用扩展困难——单体架构只能进行一维伸缩。

84691

云原生应用12要素

背景 本文贡献者者参与过数以百计应用程序开发和部署通过 Heroku 平台间接见证了数十万应用程序开发,运作以及扩展过程。...通过打包系统安装类库可以是系统级(称之为 “site packages”),或仅供某个应用程序使用部署在相应目录中(称之为 “vendoring” 或 “bunding”)。...类似数据库后端服务,通常由部署应用程序系统管理员一起管理。除了本地服务之外,应用程序有可能使用了第三方发布和管理服务。...比如, Capistrano 将所有发布版本都存储在一个叫 releases 目录中,当前在线版本只需映射至对应目录即可。该工具 rollback 命令可以很容易地实现回退版本功能。...但应用所有部署,这其中包括开发、预发布以及线上环境,都应该使用同一个后端服务相同版本。 XI. 日志日志当作事件流 日志 使得应用程序运行动作变得透明。

4.2K110

60个DevOps开源工具,你在用哪些?

2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发开源应用程序,实现一个自托管Git项目仓库,可通过Web界面进行访问公开或者私人项目。...事实上,由于 Maven 面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 比例在持续增长。...2.Capistrano Capistrano 是一个用来并行在多台机器上执行相同命令工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用。...4.Powershell 5.OpenStack Heat 五、维护 日志记录 1.Logstash Logstash 是一个应用程序日志、事件传输、处理、管理和搜索平台。...你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

1.4K90

这些工具都没用过?还谈什么 DevOps

导语: DevOps 越来越流行,越来越成为加快产品研发速度、提升团队效率有效工具。现在,在开发、测试、部署、交付、维护以及监控分析等工作中,有越来越多开源 DevOps 工具可以使用。...开源中国 Git 代码托管平台:http://git.oschina.net/ 代码托管平台 GitLab GitLab 是一个利用 Ruby on Rails 开发开源应用程序,实现一个自托管Git...事实上,由于 Maven 面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 比例在持续增长。...Capistrano Capistrano 是一个用来并行在多台机器上执行相同命令工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用。...维护 日志记录 Logstash Logstash 是一个应用程序日志、事件传输、处理、管理和搜索平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

1.4K150

60个DevOps开源工具,你在用哪些?

2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发开源应用程序,实现一个自托管Git项目仓库,可通过Web界面进行访问公开或者私人项目。...事实上,由于 Maven 面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 比例在持续增长。...2.Capistrano Capistrano 是一个用来并行在多台机器上执行相同命令工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用。...4.Powershell 5.OpenStack Heat 五、维护 日志记录 1.Logstash Logstash 是一个应用程序日志、事件传输、处理、管理和搜索平台。...你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

97400

一键实现自动化部署(灰度发布)实践

2.19 Capistrano Capistrano 是一个开源部署工具,使用Ruby开发。Capistrano 文档具有脚本语言和“理智,富有表现力API。”...4、自动化部署实践 说完了一堆理论东东,接下来就是需要实践操作了之前也写过一个自动化脚本,如下图: 这里列举两个实例,这两个实例是由网友西门飞冰投稿提供,具体实例如下: 4.1 使用shell...这里web服务器是使用ansible进行部署,相关目录和用户都会自动创建。...这里web服务器是使用ansible进行部署,相关目录和用户都会自动创建。 3、代码部署使用tag,回滚原则为回滚到上个tag版本,所以部署脚本本身没有备份代码。...4、如果需要过滤一些临时目录或者日志目录,可以在rsync推送代码时候使用–exclude选项进行过滤,示例脚本中过滤了.git目录和config.php文件是不会部署。 #!

1.3K20
领券