首页
学习
活动
专区
圈层
工具
发布

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

它通过在SSH上编写任意工作流脚本,可以将Web应用程序可靠地部署到任意数量的远程计算机,并自动执行预编译和重新启动Rails服务器等常见任务。...我们将使用Capistrano自动执行常见的部署任务,因此每次我们必须将新版本的Rails应用程序部署到服务器时,我们都可以通过一些简单的命令来实现。...RVM允许您在同一系统上轻松安装和管理多个rubies,并根据您的应用使用正确的一个。当您必须升级Rails应用程序以使用更新的ruby时,这会让生活变得更加轻松。...,在Rails应用程序中为Nginx和Capistrano创建配置文件。...,可帮助您管理应用程序版本并在进行部署时自动执行某些任务: 使用production作为Rails应用程序的默认环境 自动管理应用的多个版本 使用优化的SSH选项 检查您的git遥控器是否是最新的 管理您应用的日志

8.3K40

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

我们将详细介绍Capistrano:一种基于Ruby的远程服务器自动化工具,可以轻松地用于自动化普通部署和系统管理任务。使用Capistrano,您几乎可以完全自动执行通常用于生产产品的所有操作。...如果您使用的是CentOS系统或者Windows系统,可以参考腾讯云开发者实验室在 Linux 上部署 Ruby On Rails 环境和windows下搭建Ruby开发环境,腾讯云社区也提供Ruby中文开发者手册...Capistrano 操作方式 Capistrano lingo中的操作方式转换为包含部署(或管理)应用程序和服务器的操作指示的文件。...可以修改这些配方以支持与Ruby(或Rails)无关的各种语言特定部署。 您可以将它们视为Capistrano用于执行其操作的脚本。...应用程序部署 部署应用程序(无论是网站,API还是服务器)通常意味着从头开始(或从及时拍摄的快照)设置系统,通过更新所有内容,下载依赖项,设置文件来准备它结构和权限,然后最终上传您的代码库 - 或使用源控制管理器

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

    为什么Capistrano被Docker和Kubernetes取代了

    使用这些定义,Capistrano可以针对特定计算机执行操作。 任务和角色 Capistrano中的基本命令是任务。这些是在部署的不同阶段执行的。...如果在任何步骤中部署失败,current符号链接仍指向旧版本。 那么发生了什么? "先运行这个,然后运行那个"的模型并不能总是很好地预测部署后您的系统会是什么样子。...相比之下,单个Docker镜像允许对OS、包、库和代码进行系统性控制。它还允许笔记本电脑和云服务器以相似的方式对待——仅仅作为挂载容器的地方。...Ruby语言不公平地与Ruby on Rails的流行程度联系在一起;那已经随着Node.js和JavaScript的兴起而衰落。...但即使作为一个蒙尘的遗迹,Capistrano仍然是一个伟大的模块化工具,用于自动化Web应用程序的部署和维护。 至于加利福尼亚州的Capistrano?恐怕是坏消息。

    78010

    利用Kamal摆脱Kubernetes的复杂性

    最近我写了一篇关于 Capistrano 的文章,没想到会再次提及它,因为它是早期应用部署历史的遗迹。...Kamal 提供“零停机部署、滚动重启、资源桥接、远程构建以及你在生产环境中使用 Docker 部署和管理 Web 应用所需的一切。” 因此,它通过 ssh 命令部署内容。...Docker 回顾 作为一个快速的记忆回顾,Docker 使用 Dockerfile 构建镜像,并在容器上运行这些镜像 —— 在这些容器上,你的应用程序或其部分以隔离的方式运行: 构建 Docker 镜像...但这是来自 37Signals 的,所以你可以想象他们部署一个 Rails 应用程序。因此,有关数据库、负载均衡器等方面都有所提及。...在推送环境变量之后,它将使用当前版本的应用程序启动一个新容器,并停止旧容器。 如果您对应用程序进行了更改,那么在初始设置之后,kamal deploy 将更新您的系统。

    1K10

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

    介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效的设置。...本教程将帮助您部署Ruby 在 Rails应用程序中的生产环境,使用PostgreSQL作为数据库,在Ubuntu 14.04上使用Unicorn和Nginx。...使用以下命令退出PostgreSQL控制台: \q 现在,我们已准备好使用正确的数据库连接信息配置您的应用程序。 配置数据库连接 确保您位于应用程序的根目录(cd ~/appname)中。...=production rake db:migrate 预编译资产 此时,应用程序应该可以工作,但您需要预编译其资产,以便该程序可以加载任何图像,CSS和脚本。...您已使用Nginx和Unicorn部署了Ruby在Rails应用程序的生产环境。 如果您希望改进生产Rails应用程序部署,您应该查看我们的如何使用Capistrano自动部署的教程系列。

    7K00

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

    图片rubymine mac  2020 mac软件功能1.智能和简单的编码代码完成为Ruby和Rails,JavaScript和CoffeeScript,ERB和HAML,CSS,Sass和Less等提供智能和语言感知的自动完成功能...在Rails应用程序中快速切换模型,视图和控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...3.Ruby工具的使用集成的Rake,Bundler等等运行Rails生成器和服务器,Rake和Bundler任务。使用模型/类/ gem依赖关系图分析项目结构。...内置控制台通过使用集成的Rails,IRB,SSH控制台和本地终端,在不离开IDE的情况下运行脚本和应用程序。...部署工具通过FTP或SFTP配置自动部署,并使用Vagrant,Docker,Capistrano,Chef和/或Puppet轻松管理您的基础架构。

    3.2K10

    Debian 9下安装Ruby on Rails与NGINX

    Ruby on Rails是一个Web框架,允许Web设计人员和开发人员实现动态的功能齐全的Web应用程序。...在生产中部署Rails应用程序时,开发人员可以从几个流行的应用程序服务器中进行选择,包括Puma,Unicorn和Passenger。...更新系统:sudo apt-get update && sudo apt-get upgrade安装依赖项 安装使用Ruby,构建Ruby模块和运行Rails应用程序所需的系统包: sudo apt-get...安装并正确配置后,发出以下命令: sudo apt-get install libmysqlclient-dev 部署Rails应用程序 将您的Rails应用程序复制到您的Linode。...您的Rails应用程序现在应该是活动的。 下一步 现在您的应用程序正在运行,请考虑使用Capistrano等构建工具或Travis或Jenkins等持续集成(CI)工具来加速部署工作流程。

    5.4K20

    Ruby 应用容器封装踩坑记录(Lobsters)

    ,在开发过程中,需要将应用进行容器化配置和部署,经历了比较典型的 Ruby 老版本软件升级,过程中遇到了不少问题。...一来,目前线上运行的应用必须以容器方式进行交付运行,我们使用容器的方式注册应用,对外提供服务; 二来,个人倾向并坚持使用容器方案,可以方便后续快速水平扩展;以及最重要的一点,“代码和命令皆有记录”,方便离线的问题排查...,说明修改是正确的。...将上面两条命令顺序颠倒,或者使用下面的方式合并为一条。(目前gem还是顺序安装,没有“并发安装模式”,所以下面的命令是可行的。)...不过个人不推荐使用非治本的方式解决问题,如果没有从本质解决问题,那么应该让问题继续暴露出来,提醒维护者后面处理掉它,而不是进行选择性遗忘。

    9.1K10

    Ruby 应用容器封装踩坑记录(Lobsters)

    ,在开发过程中,需要将应用进行容器化配置和部署,经历了比较典型的 Ruby 老版本软件升级,过程中遇到了不少问题。...一来,目前线上运行的应用必须以容器方式进行交付运行,我们使用容器的方式注册应用,对外提供服务; 二来,个人倾向并坚持使用容器方案,可以方便后续快速水平扩展;以及最重要的一点,“代码和命令皆有记录”,方便离线的问题排查...将上面两条命令顺序颠倒,或者使用下面的方式合并为一条。(目前gem还是顺序安装,没有“并发安装模式”,所以下面的命令是可行的。)...不过个人不推荐使用非治本的方式解决问题,如果没有从本质解决问题,那么应该让问题继续暴露出来,提醒维护者后面处理掉它,而不是进行选择性遗忘。...bundle list 会发现当前环境已经能够根据我们的文件声明正确安装依赖了: bundle list | grep puma * capistrano3-puma (4.0.0) * puma

    6.5K00

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

    1.智能和简单的编码代码完成为Ruby和Rails,JavaScript和CoffeeScript,ERB和HAML,CSS,Sass和Less等提供智能和语言感知的自动完成功能。...在Rails应用程序中快速切换模型,视图和控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...3.Ruby工具的使用集成的Rake,Bundler等等运行Rails生成器和服务器,Rake和Bundler任务。使用模型/类/ gem依赖关系图分析项目结构。...内置控制台通过使用集成的Rails,IRB,SSH控制台和本地终端,在不离开IDE的情况下运行脚本和应用程序。...部署工具通过FTP或SFTP配置自动部署,并使用Vagrant,Docker,Capistrano,Chef和/或Puppet轻松管理您的基础架构。

    3.5K10

    Rails 容器与配置(1)

    前言 Rails 是使用 Ruby 语言编写的网页程序开发框架 通过集成开发者需要的常用组件,极大的降低了网页程序的开发成本 前面几篇博客中使用 Rails 框架构建了一个具备基本认证功能的简单博客系统...,详细可以参考: Ruby on Rails 基础 Rails MVC 和 CRUD Rails 构建评论功能 当然,不了解也没关系,因为绝大部分开发的细节都不是运维需要关心的,运维更需要关心的是部署...传统的 Ruby on Rails 应用是使用 Capistrano 来进行自动化布署的,其实效率已经很高了,那有没有比它更高效的方式呢?...因为这样可以很方便地进行水平扩展,系统的可扩展性,高弹性因此而变得很容易实现 这里分享一下 Docker 化一个 Rails 应用的操作过程和相关基础,详细可以参考 Docker hub 中的 Rails...OFFICIAL REPOSITORY 和 官方文档 Tip: 当前的 Docker 最新版本为 Docker Version 1.10 ,Rails 最新版本为 Rails 5.0.0.beta3

    73530

    如何使用本地 Docker 更好地开发?我们总结了这八条经验

    我们的团队构建和维护着大量的应用程序,运行着不同的软件栈和版本,并且能够将开发环境打包,这让不同项目的切换和开发人员快速上手新项目变得非常容易。...请注意最后一点(“本地开发”)——如果你是为了部署而创建镜像,那么这些原则中的大多数都不适用。...这样做并不常见——大多数应用程序和框架都需要一定数量的镜像基础(例如,Rails 需要 Node),但如果你发现自己的 Dockerfile 只包含一个 FROM 行,你就可以不使用这个文件。...举个例子,假设有个 Rails 应用程序使用一个共享的镜像来运行开发服务器和 webpack-dev-server,那么配置可能像这样: services: rails: image: appname_rails...可以想象的是,如果我们每次重启服务时都从头开始安装 gem/pip/yarn 这样的库,速度会非常慢,所以我们使用 Docker 的命名卷来保持缓存。

    3.1K40

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

    2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...使用Python编写。非常好用,快速可以基于EPEL部署。Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。...2.Cloud Foundry Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展...2.CollectD collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

    1.4K20

    彻底告别K8s和Docker Swarm!Ruby On Rails 之父下云后:系统好用又便宜,还清理了几千行代码

    这样就能保住多年以来投入并建设的资产,“单纯”把我们的工具重新部署在新位置。 另一个挑战是,我们的大部分应用程序在几年之前就完成了容器化,为了继续兼容遗留资产,我们希望保持这种状态。...我们既能保留大量现有容器化技术,又能以相当熟悉的全新方式运行应用程序。 多年以来,我们一直在数据中心内用 capistrano 部署。...这里的一切就是最基础的 Ruby、Rails 还有 Docker,Docker 还被包含在 mrsk 当中。 现在我们的部署时间从几分钟缩短到了大约一分钟,有时候还更短。...所以在 mrsk 部署架构中,我们也决定采用类似的方案,在邮件接收主机和作业容器之间使用共享 NFS。 这里就要聊聊 mrsk 的下一项重要功能了—— 将文件系统挂载至容器。...“K8s 一直在被误解”,jpgvm 表示,“人们总是关注它的复杂性、过度工程之类的问题,但这些东西在宏观层面上并不重要。K8s 的核心,在于以一致的 API 和部署目标对职责做正确划分。

    1.3K30

    60 个最棒的 DevOps 开源工具

    开源中国 Git 代码托管平台:http://git.oschina.net/ 代码托管平台 GitLab GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git...Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...Ansible Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。...Cloud Foundry Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发 人员能够在几秒钟内进行应用程序的部署和扩展...CollectD Collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

    5K31

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

    2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...使用Python编写。非常好用,快速可以基于EPEL部署。Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。...2.Cloud Foundry Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展...2.CollectD collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

    3K90

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

    2.代码托管平台 GitLab GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...2.Capistrano Capistrano 是一个用来并行的在多台机器上执行相同命令的工具,使用用来安装一整批机器。它最初是被开发用来发布 Rails 应用的。...使用Python编写。非常好用,快速可以基于EPEL部署。Salt 是一个开源的工具用来管理你的基础架构,可轻松管理成千上万台服务器。...2.Cloud Foundry Cloud Foundry 是VMware于2011年4月12日推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展...2.CollectD collectd 是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。

    1.3K00
    领券