#ruby-on-rails #ruby #apache #deployment #easyphp
#ruby-on-rails #ruby #apache #развертывание #easyphp
Вопрос:
Я новичок в Ruby, и я раньше занимался PHP. На моем ПК с Windows 10 установлен EasyPHP-DevServer-14.1VC9, и я могу легко запускать PHP-приложения с сервера. Несколько дней назад я установил Ruby с Rails на свой компьютер и добавил следующий код в файл httpd.conf моего сервера EasyPHP Apache
<IfModule dir_module>
DirectoryIndex index.html index.shtml index.wml index.pwml index.php index.php3 index.php4 index.php5 index.cgi index.rb index.erb
</IfModule>
<virtualHost 127.0.0.1:3001>
ServerName rails
DocumentRoot "C:/Program Files (x86)/EasyPHP-DevServer-14.1VC9/data/localweb/apps"
<Directory "C:/Program Files (x86)/EasyPHP-DevServer-14.1VC9/data/localweb/apps">
Options ExecCGI FollowSymLinks
AllowOverride all
Allow from all
Order allow,deny
AddHandler cgi-script .cgi
AddHandler fastcgi-script .fcgi
</Directory>
</VirtualHost>
Но когда я запускаю EasyPHP, а затем захожу в браузер и пытаюсь запустить файл index.erb со следующим содержимым (я пытаюсь протестировать развертывание) — я просто вижу вывод буквально, и код ruby не выполняется. Код Ruby печатается в виде строки.
Содержимое index.erb
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Expense Management: Home</title>
</head>
<body>
<h1>Welcome to Expense Management</h1>
<td>
<tr>
Let's run some ruby code: <%= 4 5 %>
</tr>
<tr>
Check back later.
</tr>
</td>
</body>
Результат, который я получаю, таков:
Welcome to Expense Management
Let's run some ruby code: <%= 4 5 %> Check back later.
Комментарии:
1. Если вы собираетесь использовать Rails, использование такого инструмента, как EasyPHP, совершенно противоречиво. Rails — это намного больше, чем набор случайных скриптов, для него существует более формальная процедура развертывания, чем для Perl или PHP.
Ответ №1:
Так же, как и PHP, ваш код Ruby должен интерпретироваться интерпретатором Ruby. Вам следует добавить модуль, подобный Passenger, в вашу установку Apache, если вы хотите обрабатывать Ruby с помощью той же установки Apache. В Google есть подробная документация о том, как это сделать.
Обновить:
По-видимому, EasyPHP имеет модуль Ruby. Вам необходимо загрузить и установить его для поддержки Ruby.
Комментарии:
1. Похоже на то. По-видимому, у него также есть Ruby mod. Я предполагаю, что OP еще не настроил или не добавил его.
2. Спасибо, да, у EasyPHP есть модуль Ruby. Скачал и установил его, и он работает.