用于使用虚拟主机的Webrick的简单Ruby“ Hello,World”程序

帕拉格

我在Internet上搜索了Ruby中的Webrick的“ Hello,World”类型程序,但找不到任何有效的方法。在SO上找到了该指南,但对我而言一生都无法使其正常工作。

向Webrick咨询Ruby文档使我获得了一些代码片段,这些代码片段使我朝着正确的方向前进。没有易于理解的教程,因此我想在SO上添加答案。

我在没有Apache或Nginx的情况下使用Ubuntu 14.04,并且希望将我的服务器用作虚拟主机。Webrick默认情况下不会同时响应请求,但是对我来说,这是一个不错的选择,它占用的空间很小。我希望它能在没有Rails框架的情况下工作,以减少足迹。

帕拉格

首先,我用Ubuntu软件包管理器安装了Ruby。如果您使用的是CentOS或其他Linux发行版,则可以使此步骤适应您特定的软件包管理器。还要确保在您的Web服务器上打开了端口80。可以通过Webrick获得SSL,但是我现在选择不这样做。

sudo apt-get install ruby

这是myapp.rb我使用的脚本名称我把它放了/var/www/myapp理想情况下,我认为它不应位于文档根目录中。您还应该创建一个特殊的用户和组来运行脚本以提高安全性(我在这里没有概述这些步骤)

require 'webrick'

server = WEBrick::HTTPServer.new(:Port => 80,
                             :SSLEnable => false,
                             :DocumentRoot => '/var/www/myapp',
                             :ServerAlias => 'myapp.example.com')

server.mount_proc '/' do |req, res|
  res.body = 'Hello, world!'
end

trap 'INT' do server.shutdown end

server.start

require上面语句告诉Ruby在运行程序时包括Webrick类。脚本的第二行使用以下选项创建Webrick实例:

  • 使用端口80
  • 停用SSL
  • 将文档根目录设置为 /var/www/myapp
  • 将服务器别名设置为 myapp.example.com

当然,您必须配置您的特定域DNS'。server.mount_proc告诉红宝石,服务响应,“你好,世界”在文档根目录。我认为您可以在其中指定子目录。上面的Ruby Webrick文档提供了有关此信息。

以开头的行表示trap可以使用Ctrl-C停止Web服务器。要启动脚本,我在SSH命令行中键入了以下内容:

ruby myapp.rb

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何启动我的简单hello world程序?

来自分类Dev

简单的“ Hello World”样式程序在执行开始后很快关闭

来自分类Dev

如何用AngularJS编写简单的Hello World程序?

来自分类Dev

无法在Android中运行简单的Hello World应用程序

来自分类Dev

简单修改Hello World

来自分类Dev

Eclipse JQuery 不适用于我的简单 Hello World 程序

来自分类Dev

崇高的Ruby Hello World

来自分类Dev

如何使用Kubernetes运行一个简单的PHP Hello World应用程序

来自分类Dev

为什么我不能启动这个简单的FXML hello world应用程序?

来自分类Dev

简单的C ++“ Hello World”程序执行时间长

来自分类Dev

执行开始后,非常简单的“ Hello World”样式程序将很快关闭

来自分类Dev

对于简单的Hello World,应用程序输出仅显示任何内容

来自分类Dev

在g ++ ubuntu中编译简单的hello world c ++程序时出现多个错误

来自分类Dev

简单的 C hello world 程序在 Visual Studio Code 中不起作用

来自分类Dev

简单的 React Hello World 实现

来自分类Dev

使用Eclipse为内核2.6编写“ Hello World”设备驱动程序

来自分类Dev

使用不可打印的Unicode字符混淆的Hello World程序如何工作

来自分类Dev

为什么我的单线程hello world应用程序使用22个OS线程?

来自分类Dev

使用Eclipse为内核2.6编写“ Hello World”设备驱动程序

来自分类Dev

在嵌入式板上使用uIP库的基本hello world程序

来自分类Dev

如何修复此slick2D hello world程序以与Windows 8.1一起使用?

来自分类Dev

使用Servlet 4.0(Java EE 8)和HTTP / 2创建Hello World应用程序

来自分类Dev

无法开始使用 Hello World Electron 应用程序示例

来自分类Dev

Strace Hello World程序

来自分类Dev

扩展的Hello World程序

来自分类Dev

Ruby on Rails 中的 Hello world

来自分类Dev

为什么Android应用RAM使用量会永远稳定增加?甚至Hello World应用程序

来自分类Dev

了解程序集Hello World

来自分类Dev

Knockout.js-简单的“ Hello World”失败

Related 相关文章

  1. 1

    如何启动我的简单hello world程序?

  2. 2

    简单的“ Hello World”样式程序在执行开始后很快关闭

  3. 3

    如何用AngularJS编写简单的Hello World程序?

  4. 4

    无法在Android中运行简单的Hello World应用程序

  5. 5

    简单修改Hello World

  6. 6

    Eclipse JQuery 不适用于我的简单 Hello World 程序

  7. 7

    崇高的Ruby Hello World

  8. 8

    如何使用Kubernetes运行一个简单的PHP Hello World应用程序

  9. 9

    为什么我不能启动这个简单的FXML hello world应用程序?

  10. 10

    简单的C ++“ Hello World”程序执行时间长

  11. 11

    执行开始后,非常简单的“ Hello World”样式程序将很快关闭

  12. 12

    对于简单的Hello World,应用程序输出仅显示任何内容

  13. 13

    在g ++ ubuntu中编译简单的hello world c ++程序时出现多个错误

  14. 14

    简单的 C hello world 程序在 Visual Studio Code 中不起作用

  15. 15

    简单的 React Hello World 实现

  16. 16

    使用Eclipse为内核2.6编写“ Hello World”设备驱动程序

  17. 17

    使用不可打印的Unicode字符混淆的Hello World程序如何工作

  18. 18

    为什么我的单线程hello world应用程序使用22个OS线程?

  19. 19

    使用Eclipse为内核2.6编写“ Hello World”设备驱动程序

  20. 20

    在嵌入式板上使用uIP库的基本hello world程序

  21. 21

    如何修复此slick2D hello world程序以与Windows 8.1一起使用?

  22. 22

    使用Servlet 4.0(Java EE 8)和HTTP / 2创建Hello World应用程序

  23. 23

    无法开始使用 Hello World Electron 应用程序示例

  24. 24

    Strace Hello World程序

  25. 25

    扩展的Hello World程序

  26. 26

    Ruby on Rails 中的 Hello world

  27. 27

    为什么Android应用RAM使用量会永远稳定增加?甚至Hello World应用程序

  28. 28

    了解程序集Hello World

  29. 29

    Knockout.js-简单的“ Hello World”失败

热门标签

归档