设为首页 收藏本站
查看: 1070|回复: 0

[经验分享] Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql 配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-30 08:26:37 | 显示全部楼层 |阅读模式
                                 Ubuntu12环境下Thin+rails(4)+ruby(2)+nginx+mysql配置
1.        前提条件:已经正确安装了ubuntu12并且更行了源。
2.        安装过程:
  2.1 安装ruby前的准备:
  • 1.1修改 /etc/apt/sources.list文件改为mirrors.163.com

    保存退出
    执行命令:  sudo apt-get update 更新源
  • 1.2 安装curl

              执行命令:sudoapt-get install curl
  • 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

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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-39654-1-1.html 上篇帖子: Linux下批量转换成pdf文档 下篇帖子: Linux下的软连接与硬连接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表