繁体   English   中英

如何使用Apache和Passenger在Max OS X上部署Rails应用

[英]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:

  • 您编辑apache配置文件,该文件是:etc / apache2 / httpd.conf
  • 您将服务器的名称(在本例中为本地服务器)放置了本地主机,即:

    ServerName本地主机

  • 安装apache之后,转到其目录,然后会找到一个“ sites”目录。 那就是您放置应用程序的地方。 您可以在.conf文件中引用其位置。 由于您仍是初学者,因此建议您跳过做虚拟主机的工作,仅使用根www目录,然后将您的应用程序放在此处以快速测试一切正常。

为了使本地Web服务器公开(可从任何设备访问),您需要使其在LAN外部可访问,请参阅: https : //superuser.com/questions/548300/how-can-make-a -网络服务器可公开访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM