У меня возникла большая проблема с моим рельсовым приложением, которое я пытаюсь развернуть на VPS. У меня есть некоторые файлы в общедоступной/папке приложений rails, например public/javascripts/home-menu.js, а также я использую Sprocket для предварительной компиляции в public/assets.Пассажирский Apache для Rails не является общедоступным сервером/активами
В моей заходящего
config.serve_static_assets = false #i want to serve through Apache not rails
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
Хотя приложение рельсы служит штраф production.rb, все файлы на общественном/директории не может быть подан. Ошибка показана ниже.
Routing Error
No route matches [GET] "/assets/application-fbbe68455909a54f6d39e01d3ab38d34.js"
Try running rake routes for more information on available routes.
Я считаю, что что-то не так с настройкой Apache, поэтому я вошел, чтобы проверить. Если параметр CPanel установлен, установка Apache устанавливается автоматически. Я добавил ниже "/usr/local/apache/conf/userdata/std/2/gadgettr/mydomain.com/ .conf" *
<Directory /home/gadgettr/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
#Options FollowSymLinks
#AllowOverride None
#Order allow,deny
#Allow from all
</Directory>
И в http.conf
<VirtualHost 103.15.232.XXX:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/gadgettr/public_html
ServerAdmin [email protected]
UseCanonicalName Off
## User gadgettr # Needed for Cpanel::ApacheConf
UserDir enabled gadgettr
<IfModule mod_suphp.c>
suPHP_UserGroup gadgettr gadgettr
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup gadgettr gadgettr
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RMode config
RUidGid gadgettr gadgettr
</IfModule>
<IfModule itk.c>
# For more information on MPM ITK, please read:
# http://mpm-itk.sesse.net/
AssignUserID gadgettr gadgettr
</IfModule>
ScriptAlias /cgi-bin/ /home/gadgettr/public_html/cgi-bin/
Include "/usr/local/apache/conf/userdata/std/2/gadgettr/gadgettrader.sg/*.conf"
</VirtualHost>
Я не могу изменить DocumentRoot/дома/gadgettr/public_html, поэтому я создать псевдоним пер -s/дома/gadgettr/государственные/дома/gadgettr/public_html
Однако я не могу решить мою проблему и до сих пор получить тот же ошибка маршрутизации. Почему Apache не обслуживает мой статический файл?
Отработал целый день, отлаживая это ... На самом деле нужна вся помощь, которую я могу иметь! Ценю вашу помощь!
Почему у вас есть папка Javascript в вашем общедоступном каталоге? Почему вы не используете папку javascript в каталоге активов или в папке javascript в каталоге Vendor? – fatfrog
Когда я помещаю javascript в папку public/assets, я получаю предварительно скомпилированное сообщение об ошибке. – jaxxie