Развертывание приложения Ruby с использованием EasyPHP

#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. Скачал и установил его, и он работает.