Ruby как язык сценариев для веб-сервера - PullRequest
3 голосов
/ 29 апреля 2010

Можно ли использовать Ruby в качестве языка сценариев для HTTP-сервера? Я хотел бы иметь возможность просто поместить несколько файлов Ruby в веб-каталог и иметь возможность выполнять их из моего браузера - так же, как я делал с PHP.

Я абсолютно ничего не имею против фреймворков, таких как RoR, но мне сказали, что я должен сначала изучить Ruby, а затем переходить к фреймворкам более высокого уровня. Конечно, я мог бы написать несколько сценариев Ruby и запустить их в консоли, но я бы предпочел получать ввод / вывод из моего браузера:)

Возможно ли это вообще? Иначе, как трудно будет мне создать быстрый и простой веб-фреймворк?

Ответы [ 4 ]

6 голосов
/ 29 апреля 2010

Взгляните на Sinatra - не ваш простой CGI / PHP-стиль, а действительно очень простой веб-фреймворк для начала, элегантный, чтобы он не мешал вам при изучении Ruby и достаточно мощный, чтобы делать довольно полезные веб-приложения.

5 голосов
/ 29 апреля 2010

ERB по духу похож на PHP (в том смысле, в котором вы нуждаетесь).

Вам необходимо настроить apache для анализа файлов rhtml с помощью erb, здесь - руководство для OSX.

3 голосов
/ 29 апреля 2010

Зависит от вашего сервера, но любой язык может быть использован с CGI Programming , включая Ruby.

Вообще говоря - чтобы выяснить - поставьте базовый "Hello World" .rbили .cgi файл на вашем веб-сервере и chmod это права доступа, поэтому он может быть выполнен "другими":

chmod 755 YourScript.rb

При написании сценариев CGI вы должны убедиться, что у вас есть соответствующий Шебанг вверху вашего файла.Для Ruby вы, вероятно, использовали бы что-то вроде ...

#!/usre/bin/ruby

(никаких обещаний, что это одно)

Тогда напишите себе небольшой привет CGI-скрипт.Вывод CGI-скрипта является своего рода частичным HTTP-ответом: (Я не совсем Ruby-кодер, так что это может быть совсем задом наперед)

puts "Content-Type:text/plain\n"
puts "Content-Length:12\n"
puts "\n"
puts "Hello World!"

Посетите файл так же, как выPHP или Perl скрипт, и вы увидите, работает ли он.Снова;это зависит от вашего сервера.

1 голос
/ 29 апреля 2010

Вы можете сделать это, настроив свой сервер для CGI .

Вы даже можете писать веб-приложения на ассемблере, используя CGI.

(На заре времени они использовали C / C ++ для написания веб-приложений, см. Рисунок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...