ubuntu+apache2+rails

apache服务器安装以及使用passenger插件部署rails应用,基于ubuntu 12.04 LTS 小例子可以部署在rails自带的WEBrick上,逐渐往后走还得上Apache。 安装apache服务器 命令是sudo apt-get install apache2 安装passenger插件 安装完毕还不能立刻用,因为想运行rails应用的话,还要为apache服务器安装插件passenger。 passenger是一个gem包,安装命令是gem install passeng 阅读详情

在Ubuntu上部署Rails(Apache mod_proxy mongrel_cluster)

最近需要把Rails的程序发布出去,在发布的过程中遇到了一些问题,虽然都用Google解决了,不过也注意到,在Ubuntu下部署Rails和其它Linux环境有所不同,为了以后少走弯路,把最近部署的过程记了下来。
以下环境为7.04
一:以Server的形式安装Ubuntu,安装完成后,设置IP、软件安装源。(这点就不说了,论坛有很多教程)
二:安装必须的软件
1.安装OpenSSH,方便远程管理:


sudo apt-get install openssh-client openssh-server


2.安装Screen,方便远程连接后运行后台程序 (参见: linux 技巧:使用 screen 管理你的远程会话 )


sudo apt-get install screen


3.安装Mysql 5.0


sudo apt-get install mysql-server-5.0


4.安装Apache


sudo apt-get install apache2


安装完成后,在别的机器上打开FireFox输入http://服务器的IP地址 /apache2-default/ 如果屏幕显示It Works! 则表示安装成功
5.安装版本控制系统,方便在服务器上签出开发机器上的Rails程序,这里安装的是SVN(可选安装)


sudo apt-get install subversion


6.安装基本的编译环境,在后面安装mongrel时要用到


sudo apt-get install build-essential


7.安装ruby


sudo apt-get install ruby1.8 ruby1.8-dev ri1.8 rdoc1.8 irb1.8 libtermios-ruby1.8 libmysql-ruby1.8


注: Rails 升级到2.0.1后,还需要安装libopenssl-ruby1.8, 否则Mongrel启动时会报错


sudo apt-get install libopenssl-ruby1.8



然后:


      cd /usr/bin/
      sudo cp ruby1.8 ruby
      sudo cp irb1.8 irb  # 这是为了能够正常启动rails的Control


8.安装rubygems
由于源里的版本比较低,可以到

http://rubyforge.org/frs/?group_id=126&release_id=11889

去下载最新版本;
下载tgz格式的,解压后,进入解压目录,然后运行:


sudo ruby ./setup.rb


9.安装Rails、mongrel、termios程序库


      sudo gem update
      sudo gem install --include-dependencies rake
      sudo gem install --include-dependencies rails
      sudo gem install --include-dependencies termios
      sudo gem install --include-dependencies mongrel
      sudo gem install --include-dependencies mongrel_cluster



安装mongrel时,会看到如下选择:

Select which gem to install for your platform (i486-linux)
1. mongrel 1.0.1 (mswin32)
2. mongrel 1.0.1 (ruby)
3. mongrel 1.0 (mswin32)
4. mongrel 1.0 (ruby)
5. Skip this gem
6. Cancel installation
> 2
选第二个,mongrel1.0.1好像修复了一个漏洞,然后还会有另一个选择:

Select which gem to install for your platform (i486-linux)
1. fastthread 1.0 (ruby)
2. fastthread 1.0 (mswin32)
3. fastthread 0.6.4.1 (mswin32)
4. fastthread 0.6.4.1 (ruby)
5. Skip this gem
6. Cancel installation
>1
选第一个

以上,部署的必要软件基本上都装齐了

注: 在710里用Gem安装Rails、mongrel等软件时,有提示安装成功, 但在命令行下运行却提示找不到命令,这是因为Gem没有把命令链接到/usr/bin/ , 这时可以手动把/var/lib/gems/1.8/bin/下的文件cp到/usr/bin/。


cp -i /var/lib/gems/1.8/bin/* /usr/bin/


但这样以后升级软件的时候会比较麻烦,要重新cp一份,也可以做一个符号链接如: ln -s /var/lib/gems/1.8/bin/rails /usr/bin/rails
gem安装软件的目录可以通过命令 gem install --help 查看到。


------------------------ 以下是软件的设置部分 --------------------------------

三:软件设置
1.mysql 的设置
参考了论坛里的这篇文章:http://forum.ubuntu.org.cn/viewtopic.php?t=1320
在终端运行:


mysql -u root

mysql>delete from mysql.db;   <- 清空db表中默认对test数据库的权限设置
mysql>delete from mysql.user where not(host="localhost") and user="root";   <- 清除多余的root用户
mysql>update mysql.user set user="ubuntu" where user="root";  <- 为了安全,将默认的root用户名更改为ubuntu。
mysql>update mysql.user set Password=PASSWORD('ubuntu_cn') where user='ubuntu'; <- 给ubuntu用户加上密码"ubuntu_cn"
mysql>flush privileges;
mysql>exit



清除之前对数据库的操作日志,这样别人就不知道刚刚改的密码啦


rm ~/.mysql_history
touch ~/.mysql_history



2.Mongrel_cluster配置
Mongre_cluster的设置比较简单,在你的Rails应用的根目录下运行,以下假设Rails的应用程序目录为/home/ubuntu/railsapp/demo/


mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 2 -c /home/ubuntu/railsapp/demo/



解释一下:
-e 指定运行环境,有production(生产)、development(开发)、test(测试)三个选项。
-p 指定监听端口
-a 127.0.0.1 指定Mongrel在localhost下监听
-N 2 启动两个Mongrel进程,端口从8000~8001

运行后,会在应用程序目录 config/mongrel_cluster.yml, 以后有什么变化,直接修改这个文件就可以了。
在终端下输入以下命令启动Mongrel:

 

mongrel_rails cluster::start


要停止则输入:


mongrel_rails cluster::stop



2.Apache 的设置
首先要启动mod_proxy模块.


cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/proxy_balancer.load proxy_balancer.load
sudo ln -s ../mods-available/proxy_http.load proxy_http.load
sudo ln -s ../mods-available/proxy.load proxy.load
sudo ln -s ../mods-available/proxy.conf proxy.conf



接着要修改一下proxy.conf文件


sudo vim /etc/apache2/mods-available/proxy.conf



大概是在11行:


#Allow from .example.com


改为


Allow from all



修改 /etc/apache2/apache2.conf 文件(默认是在最后一行):


Include /etc/apache2/sites-enabled/


改为:


#Include /etc/apache2/sites-enabled/


然后在/etc/apache2/httpd.conf里添加以下部分:


<Proxy balancer://mongrel>
  BalancerMember http://127.0.0.1:8000
  BalancerMember http://127.0.0.1:8001
</Proxy>

<VirtualHost *:80>
  ProxyPass / balancer://mongrel/
  ProxyPassReverse / balancer://mongrel/
</VirtualHost>



重启Apache以使设置生效:


sudo /etc/init.d/apache2 restart



在Firefox里输入http://服务器的IP地址 / 进行测试,检查Rails程序是否能够正常运行。

这样一个Rails的生产环境就配置好了。 :D

搭建Apache + Mongrel + Rails + Linux 服务器架构 Rails:Rails是一个使用Ruby编写的Web应用程序框架,它提供了许多工具和库,简化了Web应用程序的开发过程。现在,我们可以开始在Mongrel服务器上运行我们的Rails应用程序。在本文中,我们将详细介绍如何搭建一个使用Apache、Mongrel、Rails和Linux的服务器架构。在Web浏览器中输入服务器的IP地址,应该能够看到您的Rails应用程序的欢迎页面。如果一切正常,您可以继续开发和部署您的Rails应用程序,享受使用Apache、Mongrel和Linux服务器架构带来的好处。 阅读详情

相关推荐

Cadence Allegro 17.4学习记录开始00

Cadence Allegro 有三个版本,16.6,17.2,17.4。现在主要学习最新的版本17.4.原理图设计:OrCADPCB设计:Allegro主要用到的就下面三个图片软件:PCB Editor 17.4 是用来画PCB和元器件封装的;Padstack Editor 17.4 是用来画元器件焊盘的;Capture CIS 17.4 是用来画原理图和原理图库的。其实Cadence还有很多功能,现在计划先学习以上内容,后面熟悉了这个软件,还可以继续学习放仿真等功能。

qq_31444421的博客 7446

apache+mongrel+rails+linux轻松架设服务器

 1.首先在服务器上搭建RAILS环境并装mongrel 和apachelinux下ROR的配置 (ubuntu) http://blog.youkuaiyun.com/kevinye/archive/2006/11/30/1423003.aspx #install rubyapt-get install irb libdbm-ruby1.8 libgdbm-ruby1.8 libmysql-ruby1.

Ruby On Rails学习日志 2154

数据分析项目:电商用户行为分析系统

本报告基于某电商平台用户行为数据(采样10%),通过清洗、探索性分析及多维度建模,旨在挖掘用户行为特征、商品销售规律及用户价值分层,为运营策略优化提供数据支持。原始数据字段:用户ID、商品ID、类目ID、行为类型、时间戳。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。,少数高活跃用户贡献大部分行为,多数用户行为次数较少。

Nervousr的博客 1702

如何在 Ubuntu 14.04 上使用 Passenger 和 Apache 部署 Rails 应用

在本教程中,我们将演示如何将 Phusion Passenger 安装为您的 Rails 友好型 Web 服务器,它易于安装、配置和维护。我们将把它集成到 Ubuntu 14.04 上的 Apache 中。在本教程结束时,我们将在我们的 Droplet 上部署一个测试的 Rails 应用程序。如果您更喜欢 Nginx 而不是 Apache,请参考以下链接,了解如何在 Ubuntu 14.04 上使用 Passenger 和 Nginx 部署 Rails 应用程序。

rubys007的博客 1307

华为ENSP虚拟网络与本地物理网卡高效桥接实战指南

本文提供了一份详细的华为ENSP虚拟网络与本地物理网卡桥接实战指南。通过清晰的四步操作,帮助用户打破虚拟实验环境的“孤岛”限制,实现ENSP设备与真实局域网及互联网的互通,从而进行更真实的协议测试、软件升级和混合网络环境搭建。

qsc90123456的博客 537

【DevOps】rancher集成ldap,实现统一账号登录

登录到rancher控制台,选择【安全】-【认证】 选择【OpenLDAP】 其中【搜索起点】需要去ldap界面查配置完成

CN_Eden 1092

apache+passenger 实现rails应用的部署

apache+passenger部署rails应用 (1)安装apache: sudo apt-get install apache2(2)安装passenger    $ sudo gem install passenger    $ passenger-install-apache2-module    安装到最後时,会出现如下的3条语句:    LoadModule passenger_...

binku 336

【第三方互联】12、支付宝(Alipay)授权第三方登录

我们创建了支付宝开放平台的网页&移动应用,审核通过后,我们需要拿到appid,支付宝公钥,私钥进项开发 一、添加应用信息至项目环境中 我们保存了 appid、应用私钥、支付宝公钥、支付宝回调地址等信息,这里的公钥为支付宝开放平台为我们生成的“支付宝公钥” 二、引入 Maven 依赖 <!-- 支付宝SDK --> <dependency> <g.........

JACKAL 21万+

Debian Rails3 Apache2 Passenger 部署

1. 编译安装apache2 2. 安装passenger sudo gem install passenger sudo passenger-install-apache2-module 根据提示安装缺少的依赖包(不同机器可能不同,看提示) sudo ap

Talents come from diligence 1389

【软件系统架构】系列六: SysML(系统建模语言)

SysML(系统建模语言)是OMG组织基于UML扩展的专用建模语言,用于支持复杂系统全生命周期建模。它包含9类标准图,核心建模元素包括块(Block)、端口接口、需求和约束等。与UML相比,SysML更适用于软硬件结合的复杂系统建模。作为MBSE的核心工具,SysML通过结构图、行为图、需求图和参数图实现系统设计、需求追踪和性能验证。虽然面临学习门槛高、工具成本高等挑战,但随着AI融合和国产化替代趋势,SysML在航空航天、汽车电子等领域的应用日益广泛。SysML v2将简化语法并提升互操作性,推动系统工程

moton2017的博客 2386

基于未来出行解决方案的场景实例:城市空中交通(UAM)的飞行路径规划与避障

本文介绍了使用Simulink进行城市空中交通(UAM)飞行路径规划与避障的仿真方法。主要内容包括:1)UAM系统架构与核心挑战;2)详细建模步骤,从城市3D环境构建到飞行器动力学模拟;3)全局路径规划(A*/RRT*)和局部避障(DWA/APF)算法实现;4)多机协同与冲突解决;5)关键场景仿真与性能评估;6)高级功能拓展方向。通过Simulink的数字孪生系统,可有效验证UAM在复杂城市环境中的可行性,为未来立体交通发展提供技术支撑。

xiaoheshang_123的博客 257

ubuntu上快速配置fcgi+apache2.2+rails

ubuntu有很多方便的包可以安装,实际上配置这些非常方便。 前提:已经装好ruby and rails fcgi的安装: 在新立得里,安装 libfcgi-dev + libfcgi0c2,这是编译需要的。 使用gem安装: ruby 代码 sudo gem install fcgi   安装好后可以配置apache 2.2了。 安装apache 2.2 在新立得里,...

棋牌游戏 263

图神经网络实战(25)——基于A3T-GCN预测交通流量

本节重点讨论了使用 TGNN 进行交通预测任务。首先,我们介绍了 PeMS-M 数据集,并将其从表格数据转换为具有时间信号的静态图数据集。在实践中,我们根据输入距离矩阵创建了加权邻接矩阵,并将交通速度转换为时间序列。最后,我们构建了 A3T-GCN 模型,这是一个专为交通预测设计的 T-GNN 模型,并将结果与两个基线模型进行了比较,验证了模型的预测结果。

盼小辉丶的博客 8589

ubuntu10.10 下部署 apache2 + fastcgi + rack/sinatra/rails3

nginx + passenger用了蛮久的,突然对fastcgi感兴趣,因为有robbin这篇blog在Linux平台上安装和配置Ruby on Rails详解 [url]http://robbin.iteye.com/blog/43228[/url] 以及rails部署性能比较的文章。 但是rails3在官网上已经没有关于fastcgi的配置建议了,同时rails3也没有dispat...

nirvana0083的博客 250

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ubuntu 14.04下的rails开发环境

1、首先是安装RVM, $ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 $ curl -sSL https://get.rvm.io | bash -s stable $ source ~/.rvm/scripts/rvm echo "ruby_u...

weixin_30522095的博客 100

WINCC7.3破解文件

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

Apache + passenger

[url]http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/[/url] install passenger [code="ruby"] sudo gem install pog passenger sudo passenger-ins...

RobinWu 217

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ubuntu下apache+passenger+php+mysql

一.安装apache2+php+mysql sudo apt-get install mysql-server mysql-client sudo apt-get install libmysql-ruby libmysqlclient15-dev sudo apt-get install apache2 #/var/www #/etc/apache2/apache2.conf ...

iteye_2629的博客 219

ubuntu 11.04 安装及配置rails 开发 环境

1.install openssh-server [code="java"]http://aofengblog.blog.163.com/blog/static/6317021201111415112526/ sudo apt-get install openssh-server sudo /etc/init.d/ssh start sudo /etc/init.d/ssh stop s...

Piao.It 193

Ubuntu 14.04 Server 部署Redmine 手记

1、Apache2及依赖模块安装 sudo apt-get install apache2 libapache2-mod-passenger 2、MySQL安装 sudo apt-get install mysql-server mysql-client 3、Redmine数据库建立 mysql> create database redmine character set utf8;

yzlworld的专栏 1447

Ubuntu 14.04安装redmine

公司要安装项目管理系统,采用redmine,新来的我就来做这个小小的任务了,中途也出过几次问题,搭建redmine,他的依赖包很多,所以我建议用apt装,下面开始吧。首先升级一下源apt-get update更新完成PS:(如果图省事,可以选择LAMP套件安装,此处指mysql和apache此处不用套件安装了 )安装apache2和apache2的一个模块apt-get in...

weixin_34375054的博客 192

ubuntu11.04上ruby1.9.2 rals3 mysql 开发环境配置

ubuntu11.04上配置: ruby1.9.2 rails3.0.7 xampp1.7.4(内含apache 和 mysql) 开发环境。 ruby on rails的安装转自链接:[url]http://www.hansay.com/episodes/installing-rails-3-on-ubuntu-10-04-lucid-lynx-with-rvm[/url] 首先安装cu...

zzhttzzh的专栏 221

ubuntu11.04上ruby1.9.2 rals3 mysql 开发环境配置

ubuntu11.04上配置: ruby1.9.2  rails3.0.7  xampp1.7.4(内含apache 和 mysql) 开发环境。 ruby on rails的安装转自链接:http://www.hansay.com/episodes/installing-rails-3-on-ubuntu-10-04-lucid-lynx-with-rvm 首先安装curl: 

anderberte 627

ROR31 体验

最近玩ROR了,以前接触过perl/PHP,感觉web前端的编程是需要很系统的设计,规划,编码和测试,尤其是当java大行其道的年代,但有了rails, 加上ruby, rest/dry, 这些使个人开发大型网络系统前端成为可能,即使包括后台的数据库,云计算,也不是完全没有机会.好,开始吧... #release notes http://railsapps.github.com/inst...

iteye_9122的博客 211

Redmine部署到Windows Azure

  有幸,今天可以尝试将Redmine部署到Windows Azure中,记下点滴,方便大家查阅 步骤一:Windows Azure中安装Ubuntu VM 遇到的问题,创建VM时会提示云服务、云存储订阅上限问题,此类问题是创建VM时默认会新建云服务和云存储,所以选择下已存在的云服务。如下图所示: 步骤二:配置打开SSH 22 和Remote Desktop 3389端口,如下...

dhvyl82208的专栏 195

日常记载--redmine的安装

redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统。 一:使用bitnami一键部署linux系统 1.下载地址:https://bitnami.com/stack/redmine 2.将./bitnami-redmine-4.0.4-5-linux-x64-installer.run导入ubuntu 3.#chmod 777 bitnami-re...

xbAimor的博客 480

Web流行框架一决高下:"快"不一定"好"

使用Web开发框架,可以帮助开发者提高Web应用程序、Web服务和网站等Web开发工作的质量和效率。本文主要是对当今流行的Web框架进行比较,通过对比,你将会看到我们经常使用的在F/OSS(开放源代码软件)下Web流行框架的测试结果。   测试的结果有价值吗?   或许没有价值,当涉及到代码,也许就能凸显出它的价值所在。我尽可能的试着将每一个测试做到公平、准确。或许考虑测...

weixin_33695450的博客 82
上一篇: 屏蔽lephone在模拟器上的烦人Exception
下一篇: RMaigic 一系列错误解决
gnuser
博客等级 码龄20年 35粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值