Install and deploy rails on CentOS

CentOS 6 上用 RVM 安装 Ruby on Rails 的实战指南 Ruby on Rails 是基于 Ruby 构建的全栈 Web 开发框架,其运行依赖特定版本的 Ruby 解释器、OpenSSL 加密库和系统编译工具链。在老旧但仍在服役的 CentOS 6 环境中,系统自带的 Ruby 1.8.7、OpenSSL 1.0.1e 和 GCC 4.4.7 构成硬性兼容瓶颈,直接 yum 安装会导致 Rails 无法启动、HTTPS 请求失败、编译中断等典型问题。RVM(Ruby Version Manager)通过用户空间沙箱机制,实现 Ruby 版本隔离、独立 OpenS 阅读详情

prerequisites:

      I cover all these operations on CentOS 6.4 and with root, so if you encounter some privilege problem, try sudo.

      And, if using Ubuntu, you needn't worry about SELinux.

1.install essentical library

yum update

yum install gcc g++ make automake autoconf curl-devel openssl-devel zlib-develhttpd-devel apr-devel apr-util-devel sqlite-devel gcc-c++

#then compile and install nodejs

wget http://nodejs.org/dist/v0.10.7/node-v0.10.7.tar.gz

#........


2.install libyaml(needed by ruby)

wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz

tar xzvf yaml-0.1.4.tar.gz

cd yaml-0.1.4

./configure

make

make install


3.install ruby

wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz

#compile and install

#after compile and install

ruby –v


4.install rubygems

wget  http://production.cf.rubygems.org/rubygems/rubygems-2.0.3.tgz

tar vxzf rubygems-2.0.3.tgz

cd rubygems-2.0.3.tgz

ruby setup.rb

gem –v


5.install rails

gem update

gem update --system

gem install rails –V  #It really costs a longtime, enjoy a coffee now

 

Next,we talk about deploy on centos

6.install passenger(follow the instructions to install extra lib)

gem  install passenger

passenger-install-apache2-module


7.find the apache configure

apachectl  –V | grep HTTPD_ROOT

apachectl  –V | grep SERVER_CONFIG_FILE

#add to apache config file

<VirtualHost*:80>

      ServerName   test.com

      DocumentRoot  /var/www/html/blog/public   

      <Directory  /var/www/html/blog/public>

         AllowOverride all

         Options -MultiViews

      </Directory>

</VirtualHost>

#if something’s wrong, add line below then try again

NameVirtualHost*:80


8.config mysql database(if you use sqlite,skip this step)

#ifuse mysql in production, add below to gemfile

group:production do

         gem ‘mysql2’

end

#then bundle install

bundle install

#config mysql

mysql–u root –p

mysql>create database depot_production character set utf8;

mysql>grant all privileges on depot_production.*

mysql>to ‘username’@’localhost’ identified by ‘password’;

mysql>exit;

#modify the config/database.yml

production:

         adapter: mysql2

         encoding: utf8

         reconnect: false

         database: depot_production

         pool: 5

         username: username

         password: password

         host: localhost


9.apply your migrations

rake db:setup RAILS_ENV=”production”


10.precompile the static resources

bundle exec rake assets:precompile

 

On centos, we must change selinux’s behavior(Everytime you deploy!)

11.Temporarily go into SELinux permissive mode

setenforce  0


12.restart apache

apachectl restart


13.use your rails app for a while


14.allow passenger run with selinux

#if can't find audit2allow, you should install it first

#or you can skip 2 commands below

yum  provides  \*/audit2allow

yum  install  policycoreutils-python

grep httpd  /var/log/audit/audit.log | audit2allow -M passenger

#install newly created selinux module

semodule  -i passenger.pp


15.switch selinux back to enforcing mode

setenforce 1


 

GitLab私有化部署实战:Ubuntu+Nginx+PostgreSQL生产级搭建指南 GitLab作为企业级代码协作平台,其私有化部署是保障数据主权、满足等保合规与构建自主CI/CD基础设施的核心能力。其底层依赖Linux系统调优、反向代理安全加固及PostgreSQL高可用数据库支撑,技术原理涵盖进程管理、HTTPS流量卸载、JSONB类型存储与Omnibus统一运维机制。相比GitHub托管服务,GitLab私有部署赋予团队对源码、日志、用户行为的全链路控制权,广泛应用于政务云、金融核心系统、高校实训平台及医疗IT系统等强合规场景。本文聚焦Ubuntu 22.04环境下的真实生产部署,深 阅读详情

相关推荐

DigitalOcean社区教程提案写作规范与技术验证指南

DigitalOcean社区教程并非普通技术博客,而是面向云基础设施教育的可执行技术文档。其核心在于可复现性、环境确定性与自动化验证能力,依托Ubuntu、Debian等认证镜像和Droplet等标准化载体构建教学闭环。教程提案需严格遵循版本约束(如Ubuntu 22.04)、动词白名单(Deploy/Install/Configure等)及三行摘要结构,确保每步操作均可在最小硬件配置(如$5 Droplet)上通过curl、systemctl等命令自动校验。这种以工程化交付为标准的写作范式,已深度融入CI

chutisun0039的博客 455

Rails在CentOS 7生产环境为何首选PostgreSQL

PostgreSQL 是一种功能完备、事务强一致的关系型数据库,其基于 MVCC 的并发控制、行级锁机制和丰富数据类型(如 jsonb、tsvector、PostGIS)为现代 Web 应用提供了坚实基础。相比 SQLite 的轻量局限与 MySQL 在 CentOS 7 上的配置脆弱性,PostgreSQL 在高并发、复杂查询和扩展场景中展现出更可预测的行为与更强的运维可控性。尤其在 Rails 生态中,它原生支持 schema.rb 不覆盖的高级特性,并与 CentOS 7 的 SELinux、syst

weixin_33768481的博客 369

银河麒麟V10SP2部署极狐GitLab全攻略:国产化DevOps平台实战

在信创国产化浪潮下,企业级DevOps平台的部署与运维成为技术团队的核心挑战。本文从操作系统与软件生态兼容性原理切入,深入解析了在基于ARM架构的银河麒麟服务器操作系统上,如何通过系统调优、依赖适配与配置优化,成功部署并稳定运行极狐GitLab一体化平台。文章重点探讨了国产化环境中常见的软件源配置、服务启动失败、邮件发送异常等典型问题的解决方案,并自然延伸到CI/CD流水线在ARM架构下的容器镜像构建与K8s集群集成等进阶实践,为在信创环境下构建高效、可靠的DevOps基础设施提供了完整的工程实践指南。

weixin_30514745的博客 425

Rails零停机部署实战:Puma+Foreman进程协同方案

零停机部署是现代Web应用的核心运维能力,本质是在操作系统层面协调进程生命周期、socket复用与信号处理。其技术原理依赖于Linux内核的SO_REUSEPORT机制、Puma的cluster模式优雅重启、以及Foreman对进程组状态的精确管控。该方案的价值在于规避服务中断风险,保障高并发场景(如日活1w+/QPS>50)下的用户请求连续性,广泛应用于SaaS、电商及自建Rails生产环境。本文聚焦Ruby on Rails生态中Puma与Foreman协同实现真正零停机的关键配置、内核约束与线上验证方

weixin_33966095的博客 423

云服务器装zsh不是换壳,是环境治理基本功

shell 是 Linux 系统的入口级运行环境,zsh 作为现代交互式 shell,其安装与配置本质是对 PATH、登录会话生命周期、配置加载顺序等底层机制的系统性治理。理解 zshenv/zshrc 加载差异、/etc/shells 注册规则、非交互式 shell 的限制,是解决 'command not found' 类故障和保障 CI/CD 流水线稳定运行的技术前提。在阿里云 ECS、腾讯云 CVM 或 WSL2 等云环境部署 zsh,必须兼顾安全性、可审计性与自动化兼容性,而非仅追求本地开发体验。

hideto 419

从零部署GitLab:私有代码仓库与DevOps平台搭建实战指南

在软件开发和团队协作中,版本控制系统是管理代码变更、实现高效协作的核心基础设施。Git作为分布式版本控制系统的代表,通过记录文件快照和分支管理,解决了代码版本混乱和并行开发的难题。基于Git的代码托管平台进一步将版本控制与协作流程结合,形成了完整的DevOps工具链,其技术价值在于实现代码的集中管理、自动化流程和团队协作的标准化。在实际应用场景中,企业常面临私有化部署、数据安全与成本控制的需求,这促使了自托管Git解决方案的普及。本文聚焦于GitLab这一集成了代码托管、CI/CD流水线、问题跟踪等功能的A

weixin_34384557的博客 392

Rubber实战: bare metal服务器上部署Rails应用的最佳实践

Rubber是一款强大的Capistrano/Rails插件,能够简化在各种服务提供商(包括EC2、DigitalOcean、vSphere和bare metal服务器)上部署、管理和扩展Rails应用的过程。本文将详细介绍如何在bare metal服务器上使用Rubber部署Rails应用,帮助新手用户快速掌握这一实用技能。 ## 📋 准备工作:环境与依赖 在开始部署之前,确保你的bare

gitblog_00609的博客 329

Hermes Agent跨版本迁移:GitLab 11→18与Redmine 4→6双系统升级实战

在企业级DevOps平台升级中,跨主版本迁移(如GitLab 11→18、Redmine 4→6)面临数据库结构断层、权限模型重构、字段语义漂移等核心挑战。其本质是状态一致性问题,而非单纯版本替换——需在源与目标系统间建立可验证的语义映射和变更追溯能力。Hermes Agent作为轻量级状态协调器,通过WAL日志捕获、快照式对象映射与分阶段协调执行,解决API延迟高、配置丢失、插件兼容性差等工程痛点。本文聚焦真实产线约束下的可落地方案,涵盖Docker编排、PostgreSQL逻辑复制配置、Redmine多

weixin_30888413的博客 342

Rabel 生产环境部署实战:Nginx + Unicorn + Memcached 完整教程

Rabel 是一个基于 Ruby on Rails 框架的开源 Web 论坛程序,界面简洁、功能完整,包含节点分区、主题讨论、评论回复、签到奖励等社区常用能力。本文是一份面向新手的 **Rabel 生产环境部署教程**,带你从零开始,用 **Nginx + Unicorn + Memcached** 三件套完成一套可稳定运行的生产架构,并给出配置文件详解与常见问题排查思路。全程零代码改造,按步骤操

gitblog_00289的博客 938

pyltp免编译安装:Python3.6-3.9跨版本wheel构建指南

wheel文件是Python生态中实现‘一次编译、处处运行’的关键二进制分发格式,其核心原理在于封装预编译的C扩展(如.so动态库)与标准ABI标签,绕过目标环境复杂的编译依赖。相比源码包(sdist),wheel显著降低对GCC、CMake、libstdc++等底层工具链的耦合,提升安装稳定性与CI/CD效率。在NLP工程实践中,pyltp因依赖LTP C++引擎,长期面临源码编译失败、内存溢出、ABI不匹配等典型问题,尤其在CentOS 7、Ubuntu 20.04及资源受限设备(如Jetson NX、

weixin_33861800的博客 489

32位MIPS流水线CPU设计

32位MIPS流水线CPU设计(vivado)

m0_51320209的博客 3202

Ruby on rails 自动部署工具 Mina 的setup配置

这两天正在学习 ruby on rails 的项目部署,手里有台国外的vps搭个人网站,系统是 centos7,于是去网上查了一些资料怎么做项目部署。大多文章都推荐使用 Nginx + passenger + mina 的方式。Mina是一个自动部署的脚本,有点像平常项目上线的一键上线的操作,基于git将本地开发好的项目发布到线上,自动备...

weixin_33804990的博客 160

【软件逆向】带壳带反调试找flag教程(VMProtect3.0+X64dbg+ScyllaHide)

【软件逆向】带壳带反调试找flag教程(VMProtect 3.0+X64dbg+ScyllaHide)

zhangjiuding的博客 7513

Shipit自动化部署Node.js到CentOS 7生产环境实战

Node.js应用在Linux服务器上的持续部署,本质是代码、依赖与运行时环境的可靠协同。其核心原理在于通过SSH安全通道编排本地与远程任务,实现原子化、可回滚、带校验的发布流程。技术价值体现在消除人肉操作误差、缩短发布周期、强化故障追溯能力。典型应用场景包括中小型团队在CentOS 7等传统Linux发行版上管理Express/Koa等服务,尤其适用于暂未引入Docker或K8s但亟需稳定交付能力的生产环境。本文聚焦Shipit这一轻量级JavaScript驱动的部署工具,结合Node.js生态特性与Ce

weixin_34279184的博客 463

基于潜在空间分数匹配的混合型表格数据合成方法

然而,在我们的模型中,β 预计会更小,因为我们不需要嵌入的分布精确地遵循标准高斯分布,因为我们还有一个额外的扩散模型。受 Transformer 在表格数据分类/回归任务中取得成功的启发,我们首先为每一列学习一个独特的标记器,然后将标记(列)级表示输入到 Transformer 中,以捕捉列之间错综复杂的关系。在第 4 节中,我们证明了通过这种设计,TABSYN 可以在不到 20 次函数评估(NFE)的情况下生成高质量的合成表格数据,这比其他基于扩散的表格数据合成方法要少得多。是标记器的可学习参数。

步子哥的博客 854

操作系统实验四 进程运行轨迹的跟踪与统计(哈工大李治军)

实验4 进程运行轨迹的跟踪与统计 实验目的 掌握 Linux 下的多进程编程技术; 通过对进程运行轨迹的跟踪来形象化进程的概念; 在进程运行轨迹跟踪的基础上进行相应的数据统计,从而能对进程调度算法进行实际的量化评价,更进一步加深对调度和调度算法的理解,获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。 实验内容 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以

leoabcd12的博客 4654

Capistrano部署原理与Ruby环境避坑指南

Capistrano是Ruby生态中面向生产环境的可审计、可回滚远程部署工具,其核心在于通过Ruby DSL编排任务流(recipes),实现基于符号链接的原子化发布。它不替代CI/CD,而是聚焦于‘已构建产物’的安全投递与生命周期管理。技术价值体现在环境隔离性、版本可追溯性与故障快速回退能力。典型应用场景包括Rails应用的零停机上线、多服务器协同发布及混合云环境标准化交付。本文深入解析recipes设计哲学、rbenv与portable-ruby双端Ruby版本对齐机制,以及deploy:check预检

weixin_33778544的博客 364

Unity3D实现自定义河流路径或泥石流路径

此工具是一个插件,插件很好用,可以根据地形编辑河流的走向以及宽度,也可以发挥想象编辑成其他的效果,比如泥石流效果,岩浆效果,小溪,或者大江或者大河等等博客将会介绍可以编辑河流的工具的使用。希望这篇博客对Unity的开发者有所帮助。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。提示:以下是本篇文章正文内容,下面案例可供参考本次总结的就是工具的使用, 有需要会继续增加功能不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒!

心疼你的一切博客 5269

GitLab 安装指南

GitLab 是一个功能强大的开源 DevOps 平台,集代码托管、CI/CD、项目管理和团队协作于一体。本文将为你梳理如何在主流操作系统上安装 GitLab,以及安装后的基本使用和常见问题处理。

csdn_silent的博客 2015

ESP32-IDF开发之旅 外设篇④ 串口通信 Uart

ESP32-S3 UART串口通信详解 本文介绍了ESP32-S3的UART串口通信配置流程,涵盖硬件引脚分配、参数设置、数据收发等关键步骤。

单片机菜鸟哥的博客 495

锁的艺术:Java并发中的常用锁策略与实践

对java锁相关内容进行整理分析:乐观锁 VS 悲观锁+自旋锁 VS 适应性自旋锁+无锁 VS 偏向锁 VS 轻量级锁 VS 重量级锁+公平锁 VS 非公平锁+可重入锁 VS 非可重入锁+独享锁 VS 共享锁

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 171万+

Sinatra轻量Web框架实战:RVM环境搭建与Rack协议部署

Sinatra是一个基于Ruby的轻量级Web框架,其核心遵循Rack协议,以极简设计实现HTTP请求响应。它不强制MVC结构或内置ORM,而是通过DSL快速定义路由,显著降低启动开销与内存占用。技术价值在于高度可组合的中间件机制、单文件可部署特性,以及与RVM等环境管理工具的天然协同。典型应用场景包括微服务网关、CLI内嵌控制台、IoT设备管理页及CI/CD状态面板。本文围绕RVM环境隔离、rackup标准启动流程、生产级Puma+Nginx部署展开,深入解析Sinatra如何在保持2000行代码体量的同

alince20008的博客 427

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

GitLab自托管部署与DevOps实践:从Docker安装到CI/CD全流程指南

版本控制系统是现代软件开发的基石,它通过记录代码变更历史、支持团队协作分支管理,保障了项目的可追溯性与协作效率。其核心原理在于分布式存储与差异化管理,这使得开发者可以并行工作并高效合并成果。在众多工具中,Git已成为事实标准,而围绕Git构建的DevOps平台则进一步将代码管理、持续集成与部署流程一体化,极大地提升了软件交付速度与质量。GitLab正是此类平台的杰出代表,它将代码仓库、CI/CD流水线、安全扫描和项目管理等核心DevOps实践深度融合。对于注重代码安全、有合规需求或希望深度定制流程的团队,自

weixin_30892889的博客 370

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

企业决策加速与团队协作改善:技术工具链与工程实践指南

在现代软件开发中,DevOps和敏捷开发已成为提升团队效率的核心方法论。其原理在于通过自动化工具链和标准化流程,打破部门壁垒,实现持续集成与持续部署。这种技术价值体现在能够显著缩短交付周期,降低人为错误率,提升产品质量稳定性。应用场景覆盖从代码提交到生产部署的完整生命周期,特别适合微服务架构和云原生环境。本文基于Prometheus监控和GitLab CI/CD等热词,深入探讨如何构建数据驱动的决策流水线,通过Docker容器化实现环境一致性,为企业数字化转型提供可落地的技术解决方案。

weixin_33860553的博客 396

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Wukong AICRM Docker部署实战:从环境准备到生产运维

这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来。Wukong AICRM 作为一个集成了 AI 能力的客户关系管理工具,核心价值在于把 AI 对话、客户跟进、数据分析这些功能打包成一个开箱即用的服务。它适合想快速搭建内部 CRM 系统、又希望集成智能助手的团队或个人开发者。最关键的一点是,它提供了 Docker 部署方案,这意味着环境依赖和配置过程被大大简化了。 但简化不等于没坑。我见过不少人在 Docker 安装这步就卡住了,问题往往不是出在 Wukong 本身,而是 Docker 环

weixin_30908941的博客 408
上一篇: python操作Excel读写--使用xlrd
下一篇: Ruby类和模块的关系
qjpcpu
博客等级 码龄15年 59粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值