我以前从未部署过应用程序,现在我无法将其显示在我的domain.com上
我的服务器是liquidweb,它有apache2
我做了gem install passenger
我运行passenger-install-apache2-module
并正确安装了所有内容。
我以root身份登录并将以下内容添加到httpd.conf:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11
PassengerRuby /usr/local/bin/ruby
我也添加了这个,但是这个(在下面粘贴它)是我感到困惑的地方。在下面的部分,是虚拟主机应该相对于ROOT或实际域根的路径。例如,我的应用程序公共目录的路径的绝对根是/home/why/app/public
...但是从帐户root只有/app/public
我不知道要放哪个。此外,它是否必须进入public_html?现在我把app文件夹放在域的根目录中,而不是在public_html
<VirtualHost *:80>
ServerName www.domain.org
DocumentRoot /home/why/app/public
<Directory /home/why/app/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
当我访问domain.org时,它只显示默认页面...
Index of /
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Phusion_Passenger/3.0.11 Server at www.domain.org Port 80
我还需要做其他事吗?每个人都说这很容易,它根本不会加载。此外,我对httpd.conf所做的所有更改都重新启动了apache,但仍无济于事。
我正在使用sinatra。继承人我的config.ru。注释掉的部分是我的config.ru的本地版本,如果我运行rackup config.ru
:
#require File.dirname(__FILE__) + "/main"
#run Sinatra::Application
require 'sinatra'
Sinatra::Application.default_options.merge!(
:run => false,
:env => ENV['RACK_ENV']
)
require 'main'
run Sinatra.application
不确定还有什么要做...谢谢!
答案 0 :(得分:0)
原来是因为我正在使用cpanel / whm,我必须做一些额外的步骤来访问* .conf include .. http://www.karlrixon.co.uk/writing/editing-virtualhost-settings-in-whm-cpanel/
这是必须进入userdata文件夹中的* .conf
DocumentRoot /home/why/app/public
<Directory /home/why/app/public>
Allow from all
Options -MultiViews
</Directory>