2022年RUBYONRAILS服务器配置 .pdf

上传人:C****o 文档编号:39710958 上传时间:2022-09-07 格式:PDF 页数:9 大小:77.74KB
返回 下载 相关 举报
2022年RUBYONRAILS服务器配置 .pdf_第1页
第1页 / 共9页
2022年RUBYONRAILS服务器配置 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年RUBYONRAILS服务器配置 .pdf》由会员分享,可在线阅读,更多相关《2022年RUBYONRAILS服务器配置 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、近期各种服务器变更,积累了一些服务器的配置经验.首先,我们没有采用chef 等来部署我们的服务器,因为我们的服务器的国内阿里云,chef 等服务器的源在国外ec2,陪一台服务器的时间绝对的灾难,所以只能手动来了.首先是我们的服务器需要的环境:1.ruby 2.12.数据库3.nginx4.redis5.监控(程序监控,服务器监控)一步一步来:选择系统,我们一直是ubuntu 的忠实用户,这里选择ubuntu 12.04登录服务器,安装好基础环境sudoapt-getinstallnodejsredis-serverlibmysqlclient-devnginxmonithtop安装 rvmcu

2、rl-sSLhttps:/get.rvm.io|bash-sstable#根据提示运行一下rvmsed-is!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!$rvm_path/config/dbrvm installruby配置监控基础配置sudovim/etc/monit/monitrc打开以下配置sethttpdport2812 anduse addresslocalhost#onlyacceptconnectionfromlocalhostallowlocalhost#allowlocalhosttoconnectto

3、theserverand名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -allowadmin:monit#requireuseradminwithpasswordmonitallowmonit#allowusersofgroupmonittoconnect(rw)allowusers readonly#allowusersofgroupuserstoconnectreadonlysudovim/etc/monit/conf.d/nginx添加 nginx 监控checkprocessnginxwithpidfile/var/run/nginx.pidstartprogr

4、am=/etc/init.d/nginxstartstopprogram=/etc/init.d/nginxstopsudovim/etc/monit/conf.d/redis添加 redis 监控checkprocessredis-serverwithpidfile/var/run/redis/redis.pidstartprogram=/etc/init.d/redis-serverstartstopprogram=/etc/init.d/redis-serverstopif2 restartswithin3 cyclesthentimeoutiftotalmem 100 Mb thena

5、lertifchildren 255 for5 cyclesthenstopifcpu usage 95%for3 cyclesthenrestartiffailedhost127.0.0.1port6379 thenrestartif5 restartswithin5 cyclesthentimeout添加项目的部署脚本,我们的是Capistrano3名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -在 rails 项目的 Gemfile 添加下面内容,并执行bundleinstallgroup:developmentdogem capistrano-railsgem

6、capistrano-rvmgem capistrano-sidekiq,0.3.3gem capistrano3-pumaendgroup:productiondogem newrelic_rpmgem pumaend在 rails 的项目目录里使用capinstall添加部署脚本,编辑Capfile如下显示#Load DSL and SetupUp Stagesrequirecapistrano/setup#Includesdefaultdeploymenttasksrequirecapistrano/deployrequirecapistrano/rvm名师资料总结-精品资料欢迎下载-名

7、师精心整理-第 3 页,共 9 页 -requirecapistrano/bundlerrequirecapistrano/rails/assetsrequirecapistrano/rails/migrationsrequirecapistrano/sidekiqrequirecapistrano/sidekiq/monitrequirecapistrano/pumarequirecapistrano/puma/monit#Loads customtasksfromlib/capistrano/tasksifyou have anydefined.Dir.glob(lib/capistran

8、o/tasks/*.rake).each|r|importr编辑 config/deploy.rb#configvalidonlyforCapistrano3.1lock3.2.1set:application,你的项目名 set:repo_url,你的 git地址set:deploy_to,部署的目标目录set:scm,:git名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -#Defaultvaluefor:linked_filesisset:linked_files,%wconfig/database.yml#Defaultvalueforlinked_dirsis

9、set:linked_dirs,%wbinlogtmp/pidstmp/cachetmp/socketsvendor/bundlepublic/systemset:keep_releases,5afterdeploy:publishing,deploy:restartnamespace:deploydodescRestartapplicationtask:restartdoon roles(:web)do名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -withinrelease_pathdowithrails_env:fetch(:rails_env)do#execut

10、e:rake,up_assetsendendendendafter:restart,:clear_cachedoon roles(:web),in:groups,limit:3,wait:10 doendendafter:finishing,deploy:cleanupbefore:finishing,deploy:restartafterdeploy:rollback,deploy:restartend编辑 config/deploy/production.rb#SimpleRoleSyntax名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -set:rvm_type,

11、:userset:rvm_ruby_version,ruby-2.1.2role:app,%role:web,%role:db,%set:branch,user:deployer,roles:%wapp web,my_property:my_valueset:puma_rackup,-File.join(current_path,config.ru)set:puma_state,#shared_path/tmp/pids/puma.stateset:puma_pid,#shared_path/tmp/pids/puma.pidset:puma_bind,unix:/#shared_path/t

12、mp/sockets/puma.sock#acceptarrayformulti-bindset:puma_conf,#shared_path/puma.rbset:puma_access_log,#shared_path/log/puma_error.logset:puma_error_log,#shared_path/log/puma_access.log名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -set:puma_role,:appset:puma_env,fetch(:rack_env,fetch(:rails_env,production)set:puma

13、_threads,0,120set:puma_workers,0set:puma_worker_timeout,nilset:puma_init_active_record,falseset:puma_preload_app,true提交代码到代码仓库,使用 cap productiondeploy 部署系统部署完毕之后使用cap productionpuma:monit:configcap productionsidekiq:monit:config把我们的 web server 和后台队列进行监控,注意这里可以有权限问题,报错的时候可以登录到服务器吧/tmp目录里对应的文件拷贝到/etc/

14、monit目录中.最后使用sudomonitreload重新加载监控,使用monitstatus查看系统情况.登录到服务器添加nginxsudovim/etc/nginx/sites-enabled/you_project_nameupstreamapp serverunix:/xxx/xxx/puma.sock;#puma 部署完之后会得到一个sock 地址,修改成类似的格式,添加进来即可serverlisten80;名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -server_nameyouserver_name;root/xxx/xxx/current/publi

15、c;try_files$uri/index.html$uriapp;locationapp proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_headerHost$http_host;proxy_redirectoff;proxy_passhttp:/app;error_page500 502 503 504/500.html;client_max_body_size4G;keepalive_timeout10;重启 nginx.到这里系统基本部署完毕,至于程序级别的监控我们采用的是newrelic,如果需要使用,可以 google newrelic注册一个免费的帐号,根据提示添加你的项目中.名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁