1

我想通过使用 webbynode gem在webbynode上部署一个nestacms博客,就像我对 rails 所做的那样。虽然 Webbynode 似乎很容易支持 Sinatra 和 Rack 应用程序,但我在部署期间收到一条警告,指出该应用程序将无法顺利运行,因为它缺少公用文件夹

WARNING: Missing public folder in your Rack app, it'll not run smoothly!

实际上,快速应用程序开发(RAPP webbynode gem)将公共文件夹的需要设置为Nginx 配置

server {
      listen 80;
      server_name super_duper_blog.webbyapp.com ;
      root /var/rapp/super_duper_blog/public/;
      passenger_enabled on;
  }

相反,这是我的 nestacms config.ru

require 'rubygems'
require 'bundler/setup'

Bundler.require(:default)

require 'nesta/app'

Nesta::App.root = ::File.expand_path('.', ::File.dirname(__FILE__))
run Nesta::App

如果作者和 SO 用户Graham Ashton可以加入并帮助我,那就太好了。无论如何,我该如何解决这个问题?

更新

创建项目后,您需要使用nesta new:

  1. public手动创建文件夹
  2. 在里面添加一些内容。说前。humnans.txtfavicon.ico
  3. git add .git commit -m "added public with humans and favicon"

您的nesacms 网站将在一个私有的webbynode 地址(blog.webbyapp.com)上线然后您可以使用wn changedns www.example.com 使您的网站可供大众使用

4

1 回答 1

0

我从来没有使用过 webbynode,所以我不太确定它是如何设置的。你看过 Nginx 乘客安装指南吗?可能有用:

http://modrails.com/documentation/Users%20guide%20Nginx.html#deploying_a_rack_app

它说你需要 public/ 和 tmp/,所以我倾向于相信它。

您是否尝试自己制作这些目录?网站真的启动了吗?你是如何将你的站点部署到 webbynode 的?

我所有的 Sinatra 应用程序都使用 Vlad(参见http://effectif.com/articles/deploying-sinatra-with-vlad)部署,它负责为您创建 public/ 和 tmp/。当您部署新版本的站点时,如果您告诉它您正在使用Passenger,它也会涉及tmp/restart.txt(请参阅上面链接到的Passenger guide)。Capistrano 也可以正常工作(并且现在有更广泛的记录)。

于 2011-07-10T14:38:56.437 回答