我正在尝试将rails应用程序部署到RedHat服务器(rvm,apache)。我没有root帐户,但服务器主机尝试让我尽可能多地通过sudo和acls。他们不向我提供应用程序用户,但为所有用户安装rvm和乘客。所以我尝试让应用程序以apache-user运行。我熟悉部署rails应用程序。这完全是关于前提条件的。
问题是,乘客不会阅读公共目录。因此,未设置必要的环境变量。当我直接在ruby文件中设置它们以进行调试时,应用程序会运行,但仍然没有在公共/资产下预编译的资产。
我发现rails目录属于我的用户,所以我让他们更正用户/组apache:apache。
当我重新启动apache(sudo apachectl restart)时,我得到:
root 5177 0.0 0.2 227884 10760 ? Ss Oct27 0:01 /usr/sbin/httpd -k start
apache 25813 0.0 0.2 382060 10488 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25814 0.0 0.2 382060 10604 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25815 0.0 0.2 382060 10604 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25816 0.0 0.2 382060 10604 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25817 0.0 0.2 382060 11232 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25818 0.0 0.2 382060 10468 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25820 0.0 0.2 382060 10604 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25826 0.0 0.2 382060 10604 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25932 0.0 0.2 382060 10468 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25950 0.0 0.2 382060 10468 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
apache 25951 0.0 0.2 382060 10468 ? Sl 09:33 0:00 /usr/sbin/httpd -k start
和
root 25791 0.0 0.1 427572 4148 ? Ssl 09:33 0:00 Passenger watchdog
root 25794 0.0 0.2 995708 10624 ? Sl 09:33 0:00 Passenger core
nobody 25799 0.0 0.1 438064 4284 ? Sl 09:33 0:00 Passenger ust-router
kosven 25846 2.8 2.4 316780 97084 ? Sl 09:33 0:02 Passenger AppPreloader: /var/www/html/rails_app/
kosven 25943 0.0 2.3 386332 91060 ? Sl 09:33 0:00 Passenger RubyApp: /var/www/html/rails_app/ (production)
这可能是原因,为什么乘客不提供公共目录(rails_app / public)中的文件?
提前多多感谢, MCS
答案 0 :(得分:0)
终于找到了,在我能够编辑相应的apache config之后:
未设置DocumentRoot。多么血腥的愚蠢错误......
所以正确的配置如下:
<VirtualHost my.stillsecrethost.com:80>
DocumentRoot /var/www/html/rails_app/public
RailsEnv production
PassengerAppRoot /var/www/html/rails_app/
<Directory /var/www/html/rails_app/public >
Allow from all
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
由于 MCS