Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置

Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql配置

1.        前提条件:已经正确安装了ubuntu12并且更行了源。

2.        安装过程:

2.1 安装ruby前的准备:

  1. 1.1修改 /etc/apt/sources.list文件改为mirrors.163.com

保存退出

执行命令:  sudo apt-get update 更新源

  1. 1.2 安装curl

执行命令:sudoapt-get install curl

  1. 1.3 安装rvm版本管理工具(ruby版本)

执行命令:curl-L https://get.rvm.io | bash -s stable

等待安装结束

配置rvm环境执行命令:source~/.rvm/scripts/rvm

安装所有rubyon rails 环境需要的包

执行命令:rvmrequirements

等待…… 安装结束(走运的情况下)

2.2安装ruby

2.2.1 执行命令:rvminstall ruby 将会安装当前对应系统环境下最新版本的ruby。

2.2.2 执行ruby –v

如果系统里有多个ruby版本选择自己需要的版本设置为默认版本,例: rvmuse ruby 2.0.0 --default

2.2.3 设置结束后执行命令:rvmrubygems current

2.3安装rails

修改ruby的镜像地址,改为淘宝的。这样会快些。

参考:http://ruby.taobao.org 即可。

执行命令:gem install rails –V

这个时间可能过长,请耐心等待。

运气好的话,应该可以安装上。

测试一下rubyon rails 环境。

找个目录,执行命令:railsnew HelloRails (这里就在~路径下)

创建一个叫HelloRails的rails工程。说明配置正常。

进入HelloRails目录

修改Gemfile文件,

在最后面加上如下两行(如果文件里有就不用加了):

gem‘therubyracer‘

gem‘execjs‘

保存退出:执行bundleinstall 构建包

3. 安装mysql

3.1 执行命令:sudo apt-get  install mysql-server

等待安装结束即可。

输入 mysql–u root –p

再输入密码

看mysql是否已经安装成功!

4. 安装nginx

4.1执行命令:sudo apt-get install nginx

等待安装结束即可。

输入 sudoservie nginx restart

启动nginx

访问localhost 看会不会出来nginx的欢迎界面(nginx默认端口为80).

如果走运,应该可以访问了。

5、安装thin

rails默认的服务器不是thin,我们这里用thin来做生产环境的web容器。

安装thin

修改HelloRails/Gemfile

在文件最后面加上gem ‘thin’

保存退出:执行bundleinstall 构建包

若一切走运,就执行:thin start 启动thin服务

6 配置nginx反响代理+动静分离(这里就以这个HelloRails工程为例)

6.1. 配置nginx.conf文件

进入nginx目录:  cd /etc/ng  inx

打开nginx.conf文件:  sudo vim nginx.conf

找到 include /etc/nginx/conf.d/*.conf;

include/etc/nginx/sites-enabled/*;

注释掉这两行,添加一行新的include:

include/etc/nginx/sites-available/hellorails.com

保存退出。(这个hellorails.com是我们一会儿要配置的这个项目的nginx配置文件)

6.2 生成并配置 hellorails.com文件。

执行:cd /etc/nginx/sites-available

创建hellorails.com文件: sudo vim hellorails.com

讲default文件里的内容拷贝到hellorails.com文件里(或者直接cp个default文件改名字)

将server{} 代码块注释掉

加入如下server代码块:

upstream ad{  //代理服务器配置(thin服务器)

server 127.0.0.1:3000;

}

server {

listen 80;

server_name 10.0.2.15;

root ~/ HelloRails/public;

try_files $uri @ad;

location ~ ^/(assets)/ {

root ~/ HelloRails/public;

gzip_static on;

expires max;

add_header Cache-Controlpublic;

}

location ~*\.(jpeg|jpg|png|gif|bmp|ico|css|js|swf)$ {

root ~/ HelloRails/public;

}

location @ad {

proxy_set_header  X-Real-IP  $remote_addr;

proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header  Host  $http_host;

proxy_redirect  off;

proxy_pass  http://ad;

}

access_log/home/panguixiang/nginxLog/access.log;

error_log/home/panguixiang/nginxLog/error.log;

//这个/home/panguixiang/nginxLog目录是自己创建的可以改

}

保存退出。

6.3 让刚才的配置文件在nginx里起作用,执行如下命令:

sudo ln –s/etc/nginx/sites-available/hellorails.com/etc/nginx/sites-enabled/hellorails.com

6.4

重启nginx,搞定。

另外,附上生产环境里的一些命令和需要配置注意的地方。

配置工程production.rb文件

打开~/HelloRails/config/environments/production.rb

修改如下几行:

config.assets.compile 修改为true

如果有:

config.serve_static_assets 修改为false

假如如下行:

config.action_dispatch.x_sendfile_header = ‘X-Accel-Redirect’

创建生产环境的数据库命令:

RAILS_ENV=productionrake db:create db:schema:load

以生产环境方式启动rails:

thin方式:thinstart –e production –p 3000 (不带-p就是默认3000端口)

rails默认方式:rails server –e production –p 3000

在生产环境里要先编译assets里面的资源,执行如下命令:

RAILS_ENV=productionbundle exec rake assets:precompile is the exact rake task

或者 rake assets:precompile

可能里面还有些不正确的地方。请高手们贴砖,小弟改进。

以下是参考文献:

https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-12-04-lts-precise-pangolin-with-rvm 安装ruby on rails

https://rvm.io/rvm/install 安装rvm

http://www.cnblogs.com/zj1111184556/archive/2013/09/13/3318807.html 卸载rvm

http://www.cyberciti.biz/faq/uninstall-mysql-ubuntu-linux-command/ Ubuntu卸载 mysql-server

时间: 2024-10-03 21:53:20

Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置的相关文章

ubuntu环境下eclipse的安装以及hadoop插件的配置

ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要输入用户密码. 二.eclipse的配置 待eclipse安装好以后,在命令行输入whereis eclipse 找到eclipse的安装路径 在文件目录下找到eclipse中的插件目录 然后在打开一个文件目录窗口找到hadoop/contrib/eclipse-plugin中的eclipse插件—

Linux环境下安装rvm和ruby

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换.如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户权限下操作的. 安装rvm: sudo apt-get install curl sudo apt-get install git-core sudo apt-get install libssl-dev(否则gem不能使用) sudo apt-get install libxslt-dev libxml2-dev (否则bundl

windows环境下XAMPP安装、多域名多端口配置、与python环境并存

一.去xampp官网下载最新版本的安装包,安装一般软件的安装步骤,一直下一步,不过如果你想安装到指定目录中的话,在选择安装位置的时候设置想要安装的位置. 二.我们在工作中经常遇到同时调试多个网站的情况,那么如何配置呢?就像平时访问网站一样,网站 a.com 与网站 b.com 截然不同.这都是常见现象,如果在局域网中要访问另外一台电脑上的多个网站,就需要使用 http://192.168.1.10/ 形式访问,而不是 http://localhost/,http 协议默认端口号是 80,如果我们

Linux环境下DNS服务器原理及主服务器简单配置

1,DNS介绍 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 监听的协议端口:UDP/TCP 53 软件实现:bind 2,DNS数状结构: 如下图: 根域:. 一级域如下: 组织域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .

解决Linux环境下安装xampp之后外部无法连接MySQL的问题

在Linux系统下,开发PHP一般都是LAMP环境,对于开发环境来讲,没有必要花太大精力去单独配置LAMP环境,采用xampp一键安装包是一个很好的方式.在Linux系统上安装xampp的过程这里就不说了,主要讲述下安装完成之后如何访问的问题. 安装完成之后,默认只能在本机访问,如果通过远程浏览器去访问的话,是访问不到的.为了达到外部访问并且通过一些第三方数据库可视化工具(如navicat)连接的目的,需要做以下工作: 1.进入到/opt/lampp/etc/extra/httpd-xampp.

Apache环境下强制http跳转至https的配置总结

一. 简单实例介绍一般来说,apache配置好http和https后,如果想要做http强转到https,需要设置url重定向规则,大致需要下面几个步骤即可完成配置: 1)在httpd.conf文件里使下面模块生效 [[email protected] ~]# cat /usr/local/apache/conf/httpd.conf ..... LoadModule ssl_module modules/mod_ssl.so #如果使用https证书,这个模块功能一定要打开! ..... Lo

Windows环境下阿里云添加SSH Key及Git配置Key

1. 运行 git-bash.exe 进入命令行 2. 判断是否已存在本地公钥: cat ~/.ssh/id_rsa.pub 如果看到一长串以 ssh-rsa 或 ssh-dsa 开头的字符串,可以跳过 ssh-keygen 步骤 3. 生成 ssh key ssh-keygen -t rsa "自定义标识符" 生成代码会有两个步骤,提示设置密码(默认没有密码).pub文件名称及保持路径,按Enter直接跳过步骤使用默认值.需要注意的是,如果自定义了文件名/路径,需要在 SSH 客户端

Python应用攻略 ---- Mac环境下Flask+Nginx+FastCGI实现Python应用部署

对于一个iOS开发者来说,会写后台应用并非必要的技能,然而掌握一门后台语言却无疑可以锦上添花,不仅可以对前后台架构有更加全面的了解,同时在实际开发工作中也可以自己写一些后台应用. flask框架本身集成了一个简单的服务器,可以在本机调用,然而在这种情况下要调用Python应用接口就只能使用模拟器调试,若想要使用真机调试,我们还是需要正儿八经地部署服务器. 在这里,我们介绍一种Nginx搭配FastCGI实现Mac环境下的本地服务器部署. Nginx配置 a. 安装HomeBrew ruby -e

MySql集群讲解(二)Mysql Liunx环境下搭建

MySql集群讲解(二) MySQL Linux环境下搭建 A:下载: wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz B:安装前环境检查: 1.检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支,执行命令: yum list installed | grep mariadb rpm -qa | grep mariadb 2.若Lin