老项目换unicorn的大致步骤:

(1)修改config/application.rb
删除
 29     # assign log4r's logger as rails' logger.
 30     log4r_config= YAML.load_file(File.join(File.dirname(__FILE__),"log4r.yml"))
 31     YamlConfigurator.decode_yaml( log4r_config['log4r_config'] )
 32     config.logger = Log4r::Logger[Rails.env]
新增memcached的配置
 29     config.cache_store = :dalli_store, *Settings.memcached.servers,
 30       { :namespace => Settings.memcached.namespace, :compress => true }

(2)新建config/deploy/文件夹,
    新增production.rb
      staging.rb

(3) 新增config/environments/
     development.rb
     production.rb
     staging.rb
     test.rb

(4) 修改Gemfile,删除thin,新增unicorn
 37 gem 'dalli'
 38 gem 'unicorn'
 39
 40 group :test, :development do
 41   gem "rspec-rails", ">= 2.5.0"
 42   gem 'factory_girl', '2.6.4'
 43   gem 'factory_girl_rails', '1.7.0'
 44   gem 'faker', '1.1.2'
 45   gem 'forgery', '0.5.0'
 46   gem 'magic_encoding', '0.0.2'
 47   gem 'email_spec', '1.4.0'
 48
 49   gem 'net-ssh', '~> 2.0'
 50   gem 'capistrano', '~> 2.15.7'
 51   gem 'capistrano-rbenv', '1.0.5'
 52   gem 'rb-readline','0.4.2'
 53 end

(5)修改配置config/settings.yml的配置
181 memcached:
182   namespace: xxx-xxxxx-cms-staging
183   servers:
184     - 127.0.0.1:11215

(6)配置config/deploy.rb文件

(7)bundle exec cap deploy:setup
bundle exec cap deploy:cold

部署可能出现的问题
(1)Could not parse object(由于写错了config/deploy.rb 里的set :repository导致的)

(2)不能自动识别config/application.rb的配置uninitialized constant Cms::Application::Settings
 修改Gemfile, gem "rails_config", '0.3.4'

(3)/home/wz/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems /activesupport-3.0.8/lib/active_support/cache.rb:65:in `rescue in lookup_store': Could not find cache store adapter for dalli_store (cannot load such file -- active_support/cache/dalli_store) (RuntimeError)
需要加

gem 'dalli'

最后一步,把项目文件夹目录下的nginx配置做一个软链接到$ nginx -tnginx: the configuration file /opt/nginx/conf/nginx.conf syntax is oknginx: configuration file /opt/nginx/conf/nginx.conf test is successful

$ ln -s /opt/app/ruby/tudou-tv-cms-unicorn/current/config/nginx.staging.conf /opt/nginx/conf/tudou_tv_cms.conf12:33 [root@a02]$ nginx -tnginx: the configuration file /opt/nginx/conf/nginx.conf syntax is oknginx: configuration file /opt/nginx/conf/nginx.conf test is successfultty:[0] jobs:[0] cwd:[~]12:33 [root@a02]$ nginx -s reloadtty:[0] jobs:[0] cwd:[~]12:33 [root@a02]$ netstat -tlnp | grep 52tcp        0      0 0.0.0.0:5200                0.0.0.0:*                   LISTEN      20263/nginx         tcp        0      0 10.100.14.83:5308           0.0.0.0:*                   LISTEN      1526/cfservd        tcp        0      0 0.0.0.0:5218                0.0.0.0:*                   LISTEN      1391/thin server (0 12:33 [root@a02.test.stat.3g.vm.m6.youku]$ vim /opt/nginx/conf/nginx.conf这里把新的链接include进来 include tudou_tv_cms.conf;tty:[0] jobs:[0] cwd:[~]12:34 [root@a02]$ nginx -tnginx: the configuration file /opt/nginx/conf/nginx.conf syntax is oknginx: configuration file /opt/nginx/conf/nginx.conf test is successfultty:[0] jobs:[0] cwd:[~]12:34 [root@a02]$ nginx -s reloadtty:[0] jobs:[0] cwd:[~]12:34 [root@a02]$ netstat -tlnpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   tcp        0      0 0.0.0.0:6500                0.0.0.0:*                   LISTEN      2347/thin server (0 tcp        0      0 0.0.0.0:6565                0.0.0.0:*                   LISTEN      20307/nginx         tcp        0      0 0.0.0.0:5030                0.0.0.0:*                   LISTEN      20307/nginx         tcp        0      0 0.0.0.0:22022               0.0.0.0:*                   LISTEN      26901/sshd          tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      26927/snmpd         tcp        0      0 127.0.0.1:6600              0.0.0.0:*                   LISTEN      11834/uwsgi  

转载于:https://www.cnblogs.com/iwangzheng/p/5183242.html

老项目换unicorn的大致步骤相关推荐

  1. 这个假发太逼真!GAN 帮你换发型,alignment 步骤去掉生硬感

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | GitHub 编辑 | 小匀 Tony老 ...

  2. 谈谈使用vue对老项目进行重构的一些思考和总结

    点击上方关注 前端技术江湖,一起学习,天天进步 作者:凉城a https://juejin.cn/post/6959808183988650014 前言 2021年3月底,我决定开始重构公司的后台管理 ...

  3. 还用又贵又少的旧套餐?联通老用户换套餐全攻略

    联通互联网套餐哪个好?近日,很多网友都在讨论这个话题,越来越多老用户通过联通客服或者是工信部投诉,得以换用资费更加实惠的联通互联网套餐.联通推出了很多互联网套餐,这些套餐资费不一,那么到底联通互联网套 ...

  4. 超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式

    前言 在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了 其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明 ...

  5. [vue] 从0到1自己构架一个vue项目,说说有哪些步骤、哪些重要插件、目录结构你会怎么组织

    [vue] 从0到1自己构架一个vue项目,说说有哪些步骤.哪些重要插件.目录结构你会怎么组织 1 项目类型 前端的项目目前来看主要分为小程序开发,H5页面开发.PC官网.后台管理系统开发.Nativ ...

  6. 怎样和虐死人的老项目谈恋爱

    有位朋友说他最近失眠严重,都是因为接手了两个老项目,情况如下(我整理了聊天记录): 我最近接到两个有点坑的 VS 旧项目,之前一直是接触 Qt ,没有接触过 VC++ 和 MFC 库,感觉有些吃力. ...

  7. 面试总结-----工程化软件项目开发的流程、步骤

    工程化软件项目开发的流程.步骤 需求分析 (1)相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在 ...

  8. 实证研究的步骤_写一篇论文的大致步骤是什么呢?

    大部分写过论文的人都知道,完成一篇大论文,准备时间少则数月多则数年,一旦准备完成,论文不过数天或数周就可以完成.下面我们简单总结一下写一篇论文的大致步骤有哪些? 一.选题.选题是否恰当,对于论文写作有 ...

  9. VUE+ElementUI项目换肤功能

    VUE+ElementUI项目换肤功能 一.固定多套主题换肤 设置页面 (views/layout.vue) themes.js (@/utils/themes) main.js css相关结构及内容 ...

最新文章

  1. Elasticsearch介绍Kibana分词器增删改操作
  2. centos7挂载windows共享文件
  3. 【转】Java 枚举7常见种用法
  4. 高通fastboot一键进9008工具_红米K30S至尊纪念版一键解锁bl获取面具root超详细刷机教程...
  5. dp动态规划_最短路径累加和最大问题
  6. Android修改kernel logo和开机动画(android)
  7. 设置IDEA修改html、jsp后立即生效,不用重启项目
  8. js 笔记 -- 随机生成颜色值
  9. 监控程序日志并发送警告邮件
  10. axure 鼠标样式_Axure教程:简单开关按钮的实现
  11. libcaffe.so: undefined reference to `cv.read
  12. 让XP远程桌面连接支持网络身份验证
  13. 采用 KMP 算法编程实现病毒感染检测算法
  14. Docker 管理之 --- 资源限制
  15. 浅析ERP系统—供应链
  16. 修改IAR for msp430工程名方法
  17. 【无标题】上班族做什么副业赚钱?4种副业让你超过主业!
  18. Robomaster小陀螺
  19. git pull 报错 Your local changes would be overwritten by merge. Commit, stash or revert them to procee
  20. Office2016无法启动安装,正在进行另一个安装操作

热门文章

  1. 楼市反弹难以持续 年末房价稳中趋降
  2. thymeleaf的url属性
  3. Maven生命周期——2
  4. Fedora下SAMBA的相关配置
  5. linux之ssh-keygen命令
  6. HTML字符实体大全
  7. Centos Openssl升级
  8. shell 脚本创建虚拟机 并配置网卡ip地址(两个脚本)
  9. Golang 退出chroot环境的方法
  10. Full-Mesh 帧中继