首先让我说我完全糊涂了。既然那已经不在了,这就是我所做的:
我有两个远程服务器 (Ubuntu)(开发和生产)和我的本地机器。
在本地机器上:
在开发机器上 - 远程 dev.mysite.com
好的,让我就此打住并解释我理想的工作流程,如果有更好的方法,我很乐意改变它。我需要我的开发站点在线,但我不希望它托管在 meteor.com 上
我希望我的问题能让您了解我的困境,我只是不了解工作流程并且文档令人困惑。我只想能够在我的本地计算机上处理我的网站/应用程序,提交并推送我的更改,这些更改会自动为我部署到开发服务器......但是这个部署协议(protocol)让我失望,数据库正在抛出我下车。
是否有更好的方法来创建从本地到开发再到生产的快速高效工作流?我没有在上面提到生产,因为我正计划使用相同的自动部署。我会将我的 dev 分支与 master 和 push master merge ,这将自动部署到生产服务器。我有一个单独的生产数据库,所以这也让我陷入困境......如果我正在 merge ,我正在交叉数据库配置,或者这是一次严格在服务器上完成但我没有需要担心吗?
啊。请帮忙!谢谢。
最佳答案
除了发布一些配置服务器的长篇 Gist 外,我可以引导您朝着正确的方向前进:
1 & 2 & 3. 该模式是在每台机器上设置一个post-receive 钩子(Hook)。
钩子(Hook)应该:
meteor bundle(生成一个 .tar.gz 文件)你可以在 init.d 中设置一个脚本,它使用 forever 来操作 meteor ,例如。 /etc/init.d/meteor 开始|停止
您还可以添加所需的配置变量 - 例如 MONGO_URL
开始 meteor 的例子:
echo "$(date +'%Y-%m-%d %T,000') INFO $SERVICE_NAME started" >> $LOG_DIR/forever.log
export MONGO_URL=''
export PORT=3000
export ROOT_URL=myserver.myapp.com
export METEOR_SETTINGS="\`cat /path/to/production/settings.json\`"
export MAIL_URL=mail.myapp.com
sudo -u meteor -H -E forever -l $LOG_DIR/forever.log -o $LOG_DIR/out.log -e $LOG_DIR/err.log --minUptime 30000 --spinSleepTime 5000 -a -s start $WWW_APP_DIR/main.js
;;
4。除非你以 root 身份运行 meteor,否则端口 80 不走运——你最好让 nginx 位于 Meteor 前面并提供静态资源——所以获取 nginx 配置,例如。
server {
listen 3000;
server_name localhost;
# this should include any files / directories that belong to /public
location ~ "^/(resources/|robots.txt|humans.txt|favicon.ico)" {
root /path/to/bundle/programs/client/app/;
access_log off;
expires max;
}
# this is any assets that belong in packages
location ~ "^/packages" {
root /path/to/bundle/programs/client/;
access_log off;
expires max;
}
# this is for the main css & js
location ~* "^/[a-z0-9]{40}\.(css|js)$" {
root /path/to/bundle/programs/client;
access_log off;
expires max;
}
# this is for any sockets
location /sockjs/ {
proxy_pass http://meteor;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location / {
proxy_pass http://meteor;
# dont know if this is missing some stuff
}
}
关于git - 在我自己的服务器上部署 Meteor,但在版本控制 repo 协议(protocol)中?和 MongoHQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982444/
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它:
关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec
我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co