19--Rails环境配置

Rails运行环境配置的不同可以分为三种模式:开发模式、测试模式、生产模式。

开发模式就是程序还在开发期间进行使用。测试模式就是对程序进行测试使用。生产模式就是在网站实际上线的时候使用。这三种不同的模式肯定有对应不同的运行环境配置,它都放在了工程目录下的

三种模式对应文件位置如下:

当你运行某一种模式的时候,rails就会自动加载对应的配置文件。当然修改运行环境的方法就是命令行修改rails的ervironments参数这个很简单(我们也可以写一个自己的模式,对应自己的配置文件也是可以的不一定非要这三种模式)。

先来看开发模式(我们用的就是开发模式),对于开发模式最重要的特点是当你在代码中修改任何一个内容的时候你回到浏览器进行刷新这个改动马上就能加载出来,前面我们就一直在使用比如添加了css样式或javascript前端代码刷新就有效果,这就是为了方便我们开发:

config.cache_classes = false

这句字面意思就是不进行缓存操作,也就是每次浏览器向服务器发送http请求的时候都会重新载入一次网站的内容。否则这个值是true的话,当你修改了后台代码,除非你重新启动rails服务,否则浏览器显示的内容是不会有变化的,刷新不会有效果。比如修改了一个css样式,是true的话还是会去加载原来的缓存,css是不会有改变的除非重新运行rails服务。

config.consider_all_requests_local       = true
						

这个写的是true,意思就是rails只有在本地运行(localhost就是本地服务器)的时候,rails才会将发生错误时的信息发送给浏览器进行显示(比如我们之前碰到的页面显示NoMethod、no such file ‘bcrypt‘这些错误的情况)。其他配置可以查找官方文档去看。

?

接下来我们讲生产模式(配置项会更多一些):

config.cache_classes = true
						

可以看到这个就跟开发模式不一样了,也就是rails运行服务会将生成的代码缓存起来,一来这样能大大提高网站访问速度(不用每次发送http请求都重新加载内容,因为已经缓存了很多内容),二来加强网站安全性(就不会说你一改代码,网站直接崩溃),

config.consider_all_requests_local       = false
						

这个是false,也就是当调用出现错误的时候不会向浏览器显示错误信息,而是直接显示一个错误页面,这个错误页面其实就在自动生成的public文件夹下的500.html文件:

里面已经有一些初始的内容告诉用户页面出错了(当然我们可以在里面添加想给用户显示的内容

),不给你显示更详细的错误信息,否则可能错误信息会暴露网站后台的一些内容,这样就提高了网站安全性。另外还有一些比较重要的内容,比如ssl认证、网站的一些日志的一些模式。说白了,生产模式就是要最大限度保证稳定(不能改动就崩溃)、安全(具体错误不显示就告诉出错)和效率(有缓存)。

这里还要讲一点就是rails在运行的时候会涉及secret key,就是安全密码来保护cookie的信息,在我们没有进行任何配置的情况下,我们是无法顺利地运行生产模式的。(我们可以试一下换成生产模式,网站是运行不了的)

?

最后就是test模式,也就是网站正式上线之前运行网站功能的模式:

?

最后要讲一下三种模式(对应就是三种运行环境)对于数据库的访问也是有区别的,

这个文件的作用就是rails给程序提供了3中不同的数据库,在运行rails服务的时候会自动检测当前的运行环境加载对应的数据库,这样的好处就是你在开发环境下的数据库并不会影响到你在生产环境下的数据库。比如我们网站已经上线了,但是我们需要再进行开发增加新的一些功能,那么rails在这两种模式下默认使用的是两个没关系的数据库进行,保证了数据的干净跟安全。我们一定要区分开这3这种环境的数据库,这是保证数据安全的重要内容。

?

时间: 2024-10-25 15:32:18

19--Rails环境配置的相关文章

LAMP环境配置安装注意安装步骤及说明事项

LAMP环境配置安装注意安装步骤及说明事项. (一)           安装gcc gcc glibc-devel glibc-headers kernel-headers libgomp gcc-c++ libstdc++-devel (二)           安装zlib压缩库 zlib-1.2.5.tar.gz shell> cd /home/shuhua/tar shell> tar –zxvf zlib-1.2.5.tar.gz shell> cd zlib-1.2.5 s

[Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置

前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完成Ruby on Rails开发环境的配置. 在配置环境之前,首先要解释一下Scientific Linux 6.x,该Linux发行版与CentOS.Red Hat Linux的管理机制比较类似.如果你的Linux采用的是上述系统,基本上配置过程完全一致:如果你采用的是Ubuntu系统,配置过程可能会稍有不同. 那么,Start![请以管理员账号登陆

ubuntu下配置rails环境遇到的错误

1.Could not find gem 'sqlite3 (>= 0)' in any of the gem sources listed in you r Gemfile 解决:sudo gem install sqlite3-ruby 2.ERROR:  While executing gem ... (Gem::FilePermissionError)     You don't have write permissions into the /usr/local/lib/ruby/ge

webpack 功能大全 【环境配置】

1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机是实现代码分包(Code Splitting )和通过模块化完成代码的无缝集成.webpack可以根据项目需求合并代码,并且支持按需加载. webpack入门,可以参看:petehunt的Webpack howto webpack的实现目标是: 拆分依赖树(dependency tree)为多个按需

windows系统下简单nodejs安装及环境配置

相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/  这里不想谈太多的nodejs

Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置

Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1  整体规划部分 1.1.1  所需软件介绍 Oracle RAC不支持异构平台.在同一个集群中,可以支持具有速度和规模不同的机器,但所有节点必须运行在相同的操作系统.Oracle RAC不支持具有不同的芯片架构的机器. 序号 类型 内容 1 数据库 p17694377_121020_Linux-x86-64_1of8.zip p17694377_121020_Linux-x86-64_2o

(转) 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置

因为读研期间的研究方向是图像处理,所以浅墨这段时间闭门研究了很多OpenCV和图像处理相关的知识与内容.眼看自己积累到一定的程度了,于是决定开始开设这个OpenCV系列专栏,总结自己所学,也分享知识给大家. 好了,这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置. 浅墨前后经历过OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本的配置,有时候还要涉及到三个版本之间的转换,所以还是对OpenCV的配置有一定的理解的,希望自己的一

【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已. 在官网:http://opencv.org/上找到OpenCV

(mini2440)建立交叉编译环境+配置linux内核

(mini2440)建立交叉编译环境+配置linux内核 系统ubuntu12.04(非虚拟机下) mini2440 CPU型号:       S3C2440AL-40 Nanflash型号:K9F1G08 Norflash型号:SST39VF1601 LCD:              统宝 240 x 320 $: 普通账户 #:root账户 *当shell下输入路径时可使用tab键自动补全 (一)建立交叉编译环境 1.将mini2440光盘中的linux文件夹拷贝到 /home/liang

深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow

深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直在自己的电脑上安装虚拟机跑,速度实在太慢,主机本身性能太弱,独显都没有,物理安装Ubuntu也没多大意义,所以考虑用公司性能最强悍的游戏主机(i7 6700+GTX 1070) 做实验,这台主机平时是用来跑HTC VIVE的,现在归我用了o(*≧▽≦)ツ. 原本以为整个一套安装下来会很顺利,一路火花