在ubantu中部署rails

  经过几天的学习,工作需要新的项目是用rails完成的,目的是为了部署的方便。写的过程还好,但是在部署的时候很痛苦,经过2天的摸索终于部署成功,现在把它记录下来希望可以有所帮助,也希望看到这篇文章的人可以多多指正。

  第一次部署的尝试,直接进入项目所在目录,然后执行 rails server 启动rails,启动成功,访问也成功,但是准备上线的时候发现一个很悲催的bug,就是访问的时候不能实现多线程,只能放弃这种启动的方法。

  第二次部署的尝试,前面用nginx,后面用passenger,网上的步骤已经很详细了,但是在部署的过程中还是出现了很多的问题,现在写一下从一台新的服务器到部署rails的过程

    1、安装rvm,用rvm来管理ruby,命令 :\curl -sSL https://get.rvm.io | bash -s stable --ruby。具体的命令可以参考https://rvm.io/rvm/install

    2、安装ruby,命令:rvm install ruby-2.1.6,安装完成后修改为淘宝镜像     a、$ gem sources --remove https://rubygems.org/
                                       b、$ gem sources -a https://ruby.taobao.org/
                                       c、$ gem sources -l

    3、安装bundler,命令:gem install bundler(bundler用来安装rails)

    4、安装rails,命令:bundle install

    5、安装passenger,命令:gem install passenger。passenger是作为nginx的module存在的,要安装passenger然后在安装nginx(如果已经安装了nginx暂时还没找到办法安装passenger)

    6、安装nginx,命令:rvmsudo passenger-install-nginx-module。安装的目录使用默认的即可。安装完nginx之后再conf下的nginx.conf文件中会出现如下两行

      passenger_root /usr/local/rvm/gems/ruby-2.1.6/gems/passenger-5.0.9(这个是passenger的安装目录)
      passenger_ruby /usr/local/rvm/wrappers/ruby-2.1.6/ruby(这个是你ruby的安装目录)

    7、启动nginx命令:sudo /opt/nginx/sbin/nginx          关闭ngnix的命令 :/opt/nginx/sbin/nginx -s quit

    8、启动passenger:passenger start -a 127.0.0.1 -p 3000  ( 暂时还未找到关闭passenger的方法)

  只是自己的一点经验... ...

    

  

  

时间: 2024-08-30 08:29:40

在ubantu中部署rails的相关文章

netcore3.1+jenkins+docker在ubantu中部署

最近由于疫情给了不少时间,之前断断续续做过很多关乎docker的学习,一直敲各种命令,觉得太麻烦了,没继续深入下去,这段时间又琢磨了一阵子,说一说遇到的一些问题,记录一下.ubantu是安装在台式机中的,总觉得虚拟机太麻烦,直接把台式机的机械硬盘电源线拔了,把系统安装到了120g的固态硬盘上,平时闲置的也算做了一些贡献,ubantu上有一些小游戏挺好玩,扯远了... 安装环境就不说了,总体思路就是代码传递到码云,由jenkins下载最新代码,执行dockerfile,运行容器.开始是做的jenk

apache服务器安装以及使用passenger插件部署rails应用

小例子可以部署在rails自带的WEBrick上,逐渐往后走还得上Apache. 安装apache服务器 命令是sudo apt-get install apache2 安装passenger插件 安装完毕还不能立刻用,因为想运行rails应用的话,还要为apache服务器安装插件passenger. passenger是一个gem包,安装命令是gem install passenger passenger集成进Apache 执行命令passenger-install-apache2-modul

Tomcat中部署网站和绑定域名

在安装的tomcat的文件夹下有个conf文件夹 下面有个server.xml文件, 1. 使用80端口 默认tomcat用的是8080端口. <Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" /> 把这个节点的8080修改成80端口

同一个Docker swarm集群中部署多版本的测试环境

先介绍下用到的技术 Docker swarm: Docker官方的集群管理工具,相比kubernetes更加简单,容易入门.https://docs.docker.com/engine/swarm/ Traefik: 一个现代化的反向代理工具,原生支持Docker swarm模式,可以实现swarm的动态代理.https://docs.traefik.io/user-guide/swarm-mode/ 下图展示主要的思路: 在Docker swarm中创建某个测试版本service时,通过设置s

CentOS6.5中部署java web环境

原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安装,tomcat的安装部署. 一 CentOS的网络设置 利用桥接模式,让CentOS连接到网络. Vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改onboot=yes 保存退出 Ifconfig命令查看网络情况 可以看到ip地址 这时就能够ping通外

Centos 7中部署LAMP

在Centos 7中部署LAMP(Linux,Apache,MariaDB,PHP) 说明:Centos 7中用MariaDB替换MySQL,但是PHP连接MariaDB还是使用的php-mysql模块. [来自维基百科]MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险.MariaDB的目的是完全兼容MySQL,包括API和命令行

Eclipse中部署项目到Tomcat的方法

Eclipse 中部署项目到Tomcat的方法 1. 安装的软件: Eclipse版本:Eclipse Java EE IDE for Web Developers.Version: Juno Service Release 1 Tomcat版本:apache-tomcat-8.0.24 JDK版本:jdk1.8.0_40 2. 配置tomcat 打开Eclipse,Window->Preferences->Server->Runtime Environment,如下图所示: 如果没有找

IIS Internal Server Error &amp;IIS8中部署WCF服务出错:HTTP 错误 404.3 - Not Found

Http error      503. The service is unavailable. Due to appliction pool is stop and start it can resolve it Server Error Internet Information Services 7.5 Error Summary HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed b

如何在IIS6,7中部署ASP.NET网站(转载)

阅读目录 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的配置 在IIS7中部署ASP.NET程序 80端口和域名 查看web.config文件 web.config通常会放在网站的根目录,这个文件中包含了一最重要的网站运行参数.比如: connectionStrings,httpHandlers,httpModules ,这些参数都是网站开发人员认为运行网站所必需的参数. 因此,如果我们想将一个网站部署