老项目换unicorn的大致步骤
老项目换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的大致步骤相关推荐
- 这个假发太逼真!GAN 帮你换发型,alignment 步骤去掉生硬感
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | GitHub 编辑 | 小匀 Tony老 ...
- 谈谈使用vue对老项目进行重构的一些思考和总结
点击上方关注 前端技术江湖,一起学习,天天进步 作者:凉城a https://juejin.cn/post/6959808183988650014 前言 2021年3月底,我决定开始重构公司的后台管理 ...
- 还用又贵又少的旧套餐?联通老用户换套餐全攻略
联通互联网套餐哪个好?近日,很多网友都在讨论这个话题,越来越多老用户通过联通客服或者是工信部投诉,得以换用资费更加实惠的联通互联网套餐.联通推出了很多互联网套餐,这些套餐资费不一,那么到底联通互联网套 ...
- 超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式
前言 在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了 其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明 ...
- [vue] 从0到1自己构架一个vue项目,说说有哪些步骤、哪些重要插件、目录结构你会怎么组织
[vue] 从0到1自己构架一个vue项目,说说有哪些步骤.哪些重要插件.目录结构你会怎么组织 1 项目类型 前端的项目目前来看主要分为小程序开发,H5页面开发.PC官网.后台管理系统开发.Nativ ...
- 怎样和虐死人的老项目谈恋爱
有位朋友说他最近失眠严重,都是因为接手了两个老项目,情况如下(我整理了聊天记录): 我最近接到两个有点坑的 VS 旧项目,之前一直是接触 Qt ,没有接触过 VC++ 和 MFC 库,感觉有些吃力. ...
- 面试总结-----工程化软件项目开发的流程、步骤
工程化软件项目开发的流程.步骤 需求分析 (1)相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在 ...
- 实证研究的步骤_写一篇论文的大致步骤是什么呢?
大部分写过论文的人都知道,完成一篇大论文,准备时间少则数月多则数年,一旦准备完成,论文不过数天或数周就可以完成.下面我们简单总结一下写一篇论文的大致步骤有哪些? 一.选题.选题是否恰当,对于论文写作有 ...
- VUE+ElementUI项目换肤功能
VUE+ElementUI项目换肤功能 一.固定多套主题换肤 设置页面 (views/layout.vue) themes.js (@/utils/themes) main.js css相关结构及内容 ...
最新文章
- Elasticsearch介绍Kibana分词器增删改操作
- centos7挂载windows共享文件
- 【转】Java 枚举7常见种用法
- 高通fastboot一键进9008工具_红米K30S至尊纪念版一键解锁bl获取面具root超详细刷机教程...
- dp动态规划_最短路径累加和最大问题
- Android修改kernel logo和开机动画(android)
- 设置IDEA修改html、jsp后立即生效,不用重启项目
- js 笔记 -- 随机生成颜色值
- 监控程序日志并发送警告邮件
- axure 鼠标样式_Axure教程:简单开关按钮的实现
- libcaffe.so: undefined reference to `cv.read
- 让XP远程桌面连接支持网络身份验证
- 采用 KMP 算法编程实现病毒感染检测算法
- Docker 管理之 --- 资源限制
- 浅析ERP系统—供应链
- 修改IAR for msp430工程名方法
- 【无标题】上班族做什么副业赚钱?4种副业让你超过主业!
- Robomaster小陀螺
- git pull 报错 Your local changes would be overwritten by merge. Commit, stash or revert them to procee
- Office2016无法启动安装,正在进行另一个安装操作