Como configurar um servidor web para executar ruby em linha?

3

Gostaria de executar um código Ruby embutido em algum tipo de página html. Existem servidores ruby em torno de como mestiço, fino, mas eu só queria correr em linha ruby em html sem fazer um chamado app ruby em conformidade com algum quadro que eu não quero aprender. Eu quero que o código ruby atue como PHP, para que eu possa acessar o banco de dados, imprimir formulários e assim por diante.

Qual configuração devo ter?

    
por chutsu 17.08.2009 / 12:24

5 respostas

2

Admito que nunca fiz isso, mas mod_ruby deveria ser capaz de fazer isso. Se você é capaz de instalar o mod_php, você pode usar o mod_ruby.

Onde o PHP incorporado se parece com isto:

<?php
    print("Hello world");
?>

Ruby incorporado ficaria assim:

<% var="Hello world %>
<%= var %>

Ou algo similar; não tenho feito isso há algum tempo ;-) Mais informações sobre sintaxe a serem encontradas aqui . Para encurtar a história: instale mod_ruby e você deve estar pronto.

    
por 17.08.2009 / 12:57
1

Você pode dar uma olhada em minha resposta para uma pergunta semelhante no SO. É um pouco semelhante à resposta de Daniel, mas eu criei um script ruby-cgi que faz alguma "mágica" para você.

    
por 14.12.2009 / 20:18
0

Sinatra é mínimo o suficiente para ficar fora do seu caminho (e não lhe dizer o que fazer), mas com recursos suficientes seguir em frente rapidamente e sem muito esforço.

Você obtém rotas, visualizações (Erb ou HAML / SaSS), ajudantes, filtros e suporte para vários adaptadores de banco de dados gratuitamente. Sinatra não faz nenhuma suposição sobre o que você estará fazendo. Seu projeto pode ser tão simples ou complexo quanto necessário. Mais importante, a documentação é excelente e existem bons exemplos de projetos reais!

Os aplicativos Sinatra são fáceis de implantar usando qualquer servidor HTTP compatível com rack, como Mongrel ou Thin.

    
por 17.08.2009 / 12:56
0

Duas outras opções são usar erb e cgi (2) ou eruby (3 ) (se você está tendo problemas para instalar o mod_ruby):

  1. erb com um *.rb -controller-sort-of. Isso requer dois arquivos para uma página, mas faz uma separação simples da lógica e ver (sem um "quadro").

    É muito fácil configurar, apenas uma linha em httpd.conf ou .htaccess (com permissões executáveis):

    AddHandler cgi-script .rb
    

    Seu mypage.eruby é um modelo ERB semelhante ao php:

    <p>Hello <%= foo %>!</p>
    

    Mas envolve alguns códigos para usar. No seu arquivo mypage.rb :

    #!/usr/bin/ruby
    require 'cgi'
    require 'erb'
    
    # Use cgi for handling params and sending headers etc.
    cgi = CGI.new
    
    # connect to db etc.
    
    # prepare variables (Or rather some object to bind to - read docs for that ...)
    foo = "World"
    
    # read in your template
    template = ERB.new(File.read('mypage.eruby'))
    content = template.result
    
    # Print stuff
    print cgi.header
    print content
    

    Solicite agora mypage.rb

  2. Use o executável eruby (mais como o estilo php clássico). Talvez seja mais fácil para scripts simples.

    Faça o download do executável eruby (provavelmente existe um binário para sua plataforma) e Copie-o para /cgi-bin/eruby

    Em httpd.conf :

    AddType application/x-httpd-eruby .rhtml
    Action application/x-httpd-eruby /cgi-bin/eruby
    

    Em seguida, crie seu mypage.rhtml :

    <% 
        # Do ruby stuff here, connect to DB etc.
        foo = "World"
    %>
    <p>Hello <%= foo %>!</p>
    

    Solicite agora mypage.rhtml

Eu prefiro 1, mas 2 pode parecer mais fácil de começar, uma vez que o eruby esteja instalado. Por favor, desculpe-me por quaisquer erros - Eu não testei minha configuração e código sugerido.

(Eu sou novo para postar links de trabalho. Eu apreciaria se alguém com permissões gostaria de corrigi-los.)

    
por 31.10.2009 / 01:29
0

Uma configuração muito simples é usar o Phusion Passenger (um servidor de aplicativos da Web capaz de executar qualquer aplicativo de rack Ruby , que funciona como módulo autônomo ou como apache / ngix) + páginas do servidor em rack gem (que é um pequeno aplicativo de rack que permite que você atenda a páginas HTML simples com código Ruby incorporado).

Usando o Passenger no modo autônomo, você só precisa executar o "início do passageiro" no diretório raiz dos arquivos que deseja veicular e ter nessa pasta um arquivo config.ru com apenas 2 linhas:

require 'rack-server-pages'
run Rack::ServerPages

Agora você pode exibir todos os arquivos .erb colocando-os na subpasta public .

Você também pode simplesmente executar "rackup" e deixar as páginas serem servidas por um servidor Ruby de sua escolha.

    
por 05.10.2015 / 13:39