>我是托管服务的新手
我有一个在 PHP 中运行的 ex www.example.com 域所以在public_html我把所有的PHP文件
我有多托管支持(支持Ruby on Rails,PHP等(
所以我想在Ruby on Rails中创建一个子域
例如:sub.ecample.com 应该指向public_html/sub
我尝试了来自 ssh(腻子(的 rails 新子,它在 sub 内部创建了应用程序文件夹等但是当我们链接到 sub.ecample.com 或 ecample.com/sub 它只是显示目录列表时
请帮忙我不确定是否需要任何配置等来运行导轨
*如果此帖子被标记为重复或任何已删除等,请提供帮助链接作为评论我没有找到任何帮助链接/问题等
如前所述,解决此问题的方法将是专门与您的网络主机交谈。
但是,为了让您更清楚地了解该怎么做,您有几个重要的选择:
服务器软件
第一步,也是最重要的一步是确保您安装了正确的服务器软件,或者至少让它正确地指向您的子域
我不确定共享主机提供商将如何处理这个问题,但是建立VPS/"自托管"系统的典型方法是使用流行的开源服务器应用程序之一; 通常是Apache或Nginx。
如果您使用其中任何一个(我确信与其他服务器变体相同(,则设置允许您配置"虚拟主机"。这些使您能够在单个服务器上托管多个网站
在不赘述太多细节的情况下(您最好向您的主机询问(,您需要查看以下资源:
- 部署到 VPS (Railscasts(
- 数字海洋部署指南
- GoRails 部署指南
所有这些都将建议您安装其中一个开源服务器应用程序,这将使您能够将不同的子域/请求路由到您拥有的相应应用程序。
公共
其次,您必须考虑正确路由到 Rails 应用程序的重要性。
Rails应用程序不像PHP——它们是真正的应用程序,这意味着它们运行在你的本地化系统上,接受来自HTTP协议的输入。这就是进入"Rails 控制台"的方式 - 因为应用程序运行在本地 ruby 安装上,从"服务器"获取任何请求,然后 Rails 可以处理这些请求。
您遇到的问题是,如果您只是路由到 Rails"根"目录,则无法正确加载文件。如果希望根据需要加载应用程序,则必须将 Web 服务器指向/public
目录。
我不确定 Rails 是如何管理的,但是每次你向应用程序发送请求时,它都会观察public
目录,然后将请求发送到你的 Rails 后端。简而言之,您需要路由到/public
文件夹:
#etc/nginx/nginx.conf
server {
listen 80;
server_name example.com;
passenger_enabled on;
root /var/www/my_awesome_rails_app/public;
}