[英]How to deploy multiple rails app on a single IP (Apache + Passenger)?
[英]How to deploy Rails app on Max OS X, with Apache and Passenger
首先有一些背景知识,这样您就知道要与谁打交道:我目前正在自学Rails。 我已经遍历了Michael Hartl教程多次,我创建了自己的一些应用程序,并使用Heroku进行了部署。 除此之外,我是一个完整的初学者。
我目前正在尝试使用Apache从我自己的计算机上部署Rails应用程序。 我以前没有使用Apache的经验,并且对于服务器,编辑配置文件,域名等问题一无所知。
按照这些说明 ,我已经设置了机器(Macbook Pro,OS X 10.9.2),以便可以上传简单的html文件,并通过在浏览器地址栏中输入我的IP地址和文件名从另一台计算机上查看它们。 。
然后,我使用自制软件安装了Passenger。
现在,我正在尝试使用这些说明 ,但是有很多我不了解的事情。 其中大多数都在本段中:
最后,我们通过将以下配置选项添加到Apache配置文件来部署它:
<VirtualHost *:80>
ServerName www.rackexample.com
DocumentRoot /webapps/rack_example/public
<Directory /webapps/rack_example/public>
Allow from all
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
#Require all granted
</Directory>
</VirtualHost>
我应该编辑哪个配置文件? /etc/apache2/users/USERNAME.conf? 还是etc / apache2 / httpd.conf? 或者是其他东西? 这个新块到底应该放在哪里?
我应该把什么作为服务器名称? 我用我的IP地址尝试了一下,但似乎没有用。 如果与我的服务提供商有关,我在哪里可以找到该地址?
我的应用程序位于/ Users / user_name / rails_projects /中-因此我假设我应该在“文档”和“目录”部分中输入“ / Users / user_name / rails_projects / {webapp_name} / public”?
万一不清楚,我的目标是:能够直接从计算机上“启动”应用程序,然后使用特定地址从另一台设备访问它们。 我很愿意发现它并不像部署到Heroku那样容易。
如果所有这些问题中的任何一个或全部都不完整,我深表歉意。 我想找到一个简单的教程来解释如何在Rails中使用Passenger,但是到目前为止,我的谷歌搜索一直没有成功。 非常感谢有关菜鸟友好的阅读材料(在服务器,配置文件,mapache,域名等上)的任何建议。
谢谢阅读!
编辑:额外信息:
我尝试将其添加到etc / apache2 / httpd.conf中:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /Sites/{app_name}
<Directory /Sites/{app_name}>
Allow from all
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
Require all granted
</Directory>
</VirtualHost>
然后导航到localhost。 结果 :该网页不可用
更多信息:
我在etc / apache2中看不到Sites目录。 但是我以前用以下方式配置了etc / apache2 / users / user_name.conf:
<Directory "/Users/USERNAME/Sites/">
Options Indexes Multiviews
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
</Directory>
然后,按照前面提到的说明,在Users / USERNAME中创建一个“站点”目录。 当我启动Apache并导航到我的IP时,可通过浏览器访问该目录中的任何html页面。
现在,我意识到实际上无法从任何地方访问这些页面,只能通过建立网络来访问-感谢您指出! 使Rails应用程序在Apache上运行后,我将查看您发送的链接。
因此,您要做的是设置Web服务器。 首先,您正在做的是设置本地Web服务器(安装apache等)。 但这只能通过局域网通过本地主机(即127.0.0.1)进行访问。
要回答您的一些q:
您将服务器的名称(在本例中为本地服务器)放置了本地主机,即:
ServerName本地主机
安装apache之后,转到其目录,然后会找到一个“ sites”目录。 那就是您放置应用程序的地方。 您可以在.conf文件中引用其位置。 由于您仍是初学者,因此建议您跳过做虚拟主机的工作,仅使用根www目录,然后将您的应用程序放在此处以快速测试一切正常。
为了使本地Web服务器公开(可从任何设备访问),您需要使其在LAN外部可访问,请参阅: https : //superuser.com/questions/548300/how-can-make-a -网络服务器可公开访问
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.