ngx_ruby

嵌入 ruby 脚本的 Nginx 模块
授权协议 BSD
开发语言 C/C++
所属分类 服务器软件、 Nginx扩展模块
软件类型 开源软件
地区 国产
投 递 者 公孙琛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ngx_ruby

ngx_ruby 是嵌入 ruby 脚本的 Nginx 模块。

环境

  • ruby-2.3.*

  • nginx-1.6.3+

安装

$ git clone https://github.com/rryqszq4/ngx_ruby.git

$ wget 'http://nginx.org/download/nginx-1.6.3.tar.gz'
$ tar -zxvf nginx-1.6.3.tar.gz
$ cd nginx-1.6.3

$ export RUBY_INC=/path/to/ruby/include/ruby-2.3.0
$ export RUBY_LIB=/path/to/ruby/lib

$ ./configure --user=www --group=www \
              --prefix=/path/to/nginx \
              --add-module=/path/to/ngx_ruby
$ make
$ make install

摘要

nginx config:

user www www;
worker_processes  4;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
    
        location /content_by_ruby {
            content_by_ruby "
                time1 = Time.new
                Ngx.print('Hello, Ngx_ruby. Current Time : ' + time1.inspect);
            ";
        }

        location /content_by_ruby_file {
            content_by_ruby_file /ngx_ruby/t/library/hello.rb;
        }

    }
}
  • 原文地址 ngx_http_rewrite_module 模块用于通过 PCRE 正则表达式改变请求 URI,返回重定向并可以有条件地选择配置。 break、if、return、rewrite 以及 set 指令的处理顺序如下: 首先按顺序执行在 server 块中指定的该模块的指令 然后循环: 根据请求 URI 搜索 location 该模块的指令在 location 内指定时,按顺序执行 如果

  • Ngx_http_log_module:定义日志格式,并且以指定的格式保存 官方文档:http://nginx.org/en/docs/http/ngx_http_log_module.html 相关指令:(Syntax:使用语法,Default:默认,Context:默认配置段) Syntax access_log path [format [buffer=size] [gzip[=level]

  • UPYUN 的 ngx_lua 应用实践 » 社区 » Ruby China

  • gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序。 nginx中gzip压缩功能由ngx_http_gzip_module模块支持,该模块在nginx安装时默认编译安装,nginx配置文件中,gzip功能默认关闭。 nginx中gzip的主要作用就是用来减轻服务器的带宽问题,经过gzip压缩后的页面大小可以变为原来的30%甚至更小,这样用户浏览页面时的速度会快很多

  • 什么是模块 模块(module)是Ruby特有的功能之一。类用来表现具有数据与行为(程序)的"东西", 而模块大致来说,则是只有程序部分的集合体。类与模块最大的不同在于: 1.模块不能建立实例 2.模块不能继承 模块的用法 (1)提供命名空间 命名空间(namespace)是为了让方法、常数、类名称不互相冲突而设计的机制。命名时 名称简洁明快虽然是个好习惯,但像size、start这种太普通的名称

  •   if [type] =~ "ngx-" { #去掉重复的行 mutate { add_field => {"line_message" => "%{message} %{offset}"} } ruby { code => " require 'digest/md5'; event.set('co

 相关资料
  • 问题内容: 我正在开发可能由用户提供的Groovy脚本扩展的服务器应用程序。显然,我想确保这些脚本在非常紧凑的沙箱中运行,在这些沙箱中它们不会破坏核心应用程序代码或消耗过多资源以使服务器超载。 我研究了各种可能性,最终的解决方案可能是这些的组合: 在受严格限制的安全管理器中运行脚本 。该脚本在没有权限的SecurityManager中运行。必须声明其他权限(例如Android)。 启动一个新的JV

  • 问题内容: 有谁知道将图标嵌入Python脚本的方法,这样当我创建独立的可执行文件(使用pyinstaller)时,不需要包含.ico文件吗?我知道使用py2exe可以实现,但是就我而言,我必须使用Pyinstaller,因为使用前者并不成功。我正在使用Tkinter。 我知道,但是如果我想使一个文件可执行,那是行不通的。 问题答案: 实际上,函数iconbitmap只能接收文件名作为参数,因此那

  • 本文向大家介绍nginx常用命令放入shell脚本详解,包括了nginx常用命令放入shell脚本详解的使用技巧和注意事项,需要的朋友参考一下 1、创建一个文件夹存放nginx的shell脚本 1)重启nginx的shell脚本 vim reload.sh 2)设置nginx用户对html目录下所有文件读写执行权限的shell脚本 vim setfacl.sh 3)启动nginx进程的shell脚

  • Ruby, like fire, is a very useful friend, and a very dangerous enemy. — Mikkel Bruun 在模板中使用嵌入式 Ruby 帮助构建动态的配置文件或实现数组遍历是一种强大的方式。 然而,你也可以在配置清单中使用 inline_template 函数直接嵌入 Ruby 而不必使用分离的模板文件。 操作步骤 在 Puppet

  • 问题内容: 编辑:为了将来参考,我正在使用非xhtml内容类型定义 我正在使用Django创建一个网站,并且试图在我的页面中嵌入任意json数据,以供客户端JavaScript代码使用。 假设我的json对象是。如果直接将其嵌入, 第一个关闭json对象。(此外,由于该json对象将动态生成,这将使站点容易受到XSS的攻击)。 如果使用django的HTML转义功能,则输出为: 并且浏览器无法解释