所以我刚刚完成了railstutorial.org的twitter克隆示例,我希望将其与我的网络托管服务提供商bluehost联机。现在,我所拥有的是一个名为sample_app的文件,其中包含所有的rails内容。当我在localhost:3000上访问它时它工作正常。
所以我转到我的bluehost文件管理器,有9个不同的文件夹,如public_html,public_ftp,rails_apps,www,tmp,access_logs等。我已将sample_app上传到此整个目录并进入public_html目录本身。但是当我访问我的网站时,它只会在public_html目录的default.html文件中显示html。
究竟是什么告诉我的托管服务使用public_html / default.html在我的服务器空间的其他地方的任何不同文件和文件夹的数量?我如何找到这个东西并告诉它改为使用sample_app或public_html / sample_app然后处理其中的所有内容以显示我的rails应用程序?
我尝试过使用bluehost支持,他们通过电子邮件发送给我说,这可以通过创建一个符号链接来实现,该符号链接将〜/ rails_apps / NinetyNine / public链接到〜/ public_html。我不知道怎么做这个,我在网上找到的指南都告诉我输入一系列命令。我不知道是否在我的ubuntu系统上的终端或bluehost提供的某个命令提示符下执行此操作。如果它在我的系统的终端上,我应该在哪个目录中?我在系统上进行的任何尝试都导致没有此类文件或目录错误。当我要求bluehost解释这个时,他们说这超出了他们支持的范围,并且与Web开发没有托管有关。令我感到奇怪的是,他们不愿意解释他们对我的问题的回应,但无论如何。
如果你们中的任何人能够帮助我或指出我正确的方向,我将非常感激。谢谢
答案 0 :(得分:2)
什么告诉我的托管服务使用public_html/default.html
?
这将是Web服务器配置的设置,可能是Apache。
在Apache的情况下,public_html
目录通常启用了
UserDir
指令。
default.html
也是Apache配置DirectoryIndex。
回答这些是因为您问过:但通常是全局Apache配置 由您的提供商维护(尽管您通常有一些方法可以自定义 它的一部分)。
创建从public_html
到
他们喜欢给你一个像(可能不完全是)
的命令$ ln -s ~/rails_apps/NinetyNine/public public_html
这是打算在您的webhost上从命令提示符运行的东西, 位于主目录的顶部。
在bluehost上查找docs以了解如何获取SSH shell访问权限。 这就是你输入命令的地方。
但是,更一般地说,您希望确保阅读有关您的文档的文档 提供商希望您上传应用程序。 Bluehost似乎非常好 docs:
为什么您提供的托管服务表明它超出了范围。
你是初学者,这是正式的。欢迎!
但是,如果你问他们一个类似“我是否在我的电脑上输入这些命令”的问题 或者你的“,他们肯定会礼貌地回应这个超出范围; 意思是“我们不能用手把握住你”。如果你经营加油站和 有人问你如何使用泵,你会告诉他们。但如果他们再问 “好吧,但是我把气体放在我的车里还是你的车里?”你不愿意回答,因为 有一些基本缺失。
那么如何获得更多关于这些东西的指示,指示?
很多方法。到目前为止,最好的做法是尽可能多地做一些事情 你自己的电脑。在您的情况下,您可以轻松设置自己的Apache (Mac和Linux经常随附它 - 可以在Windows上轻松安装),以及 这将清除许多概念问题。