Nginx-Clojure 是一个 Nginx 的模块,用于嵌入 Clojure 或者 Java 或者 Groovy 程序。
核心特性:
兼容 Ring 以及支持基于 Ring 的框架,例如 Compojure
可使用 Clojure/Java/Groovy 编写简单的 HTTP 服务处理器
NEW: Nginx Access Handler by Clojure / Java / Groovy
NEW: Nginx Header Filter by Clojure / Java / Groovy
使用 Clojure/Java/Groovy 编写简单的 URL 重写处理器
非堵塞协程 Socket,兼容 Java Socket API,可以多数 Java 网络库兼容,如Apache HTTP Client和 MySQL JDBC驱动等
可在一个子协程中并行处理多个套接字,就是说可以同时调用两个远程服务
Socket/Channel 的异步回调 API
Long Polling & Server Sent Events
使用广播事件 API 更容易实现 Sub/Pub 服务
可在 Nginx worker 启动时运行初始 Clojure 代码
支持用户自定义的 HTTP 请求方法
兼容 Nginx 1.6.0,Nginx 1.4.x 也 OK,但再老的版本没经过测试
受益于 Nginx 的机制 worker 进程挂掉后,主进程会自动进行重启
采用对HTTP Header进行惰性解析以及Nginx和JVM之间直接的内存操作来快速处理动态内容
利用 Nginx 零拷贝文件发送机制来快速处理静态内容
支持 Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X.
nginx-clojure的官方发行版(0.3.0)有proxy_cache_path bug, 于是只好自己动手下载源码安装。本文简要地介绍如何在Centos上编译安装。 本文假设JDK路径为/usr/lib/jvm/jdk8, nginx安装目标路径为/opt/apps/nginx。 安装编译工具 yum install mercurial yum install gcc gcc-c++ a
除了使用lua这个高效脚本语言丰富nginx外,最近尝试使用一个新模块 ---->> nginx-clojure https://github.com/nginx-clojure/nginx-clojure/ 说到nginx-clojure模块,它能够获取和修改请求数据、响应数据、header信息等(基本上java servlet中能够获取和修改的数
Install nginx-clojure on CentOS 7 1. install open-jdk-7 sudo yum install java-1.7.0-openjdk-devel 2. download nginx-clojure https://nginx-clojure.github.io/quickstart.html 3. download clojure 1.6.0.
Clojure常用包收集 。 Clojure标准库 diff-match-patch-clj 基于google-diff-match-patch的文本对比工具包 hiccup及Hiccups:HTML的Clojure/ClojureScript DSL hickory将HTML解析为Clojure数据结构 jsoup Java的HTML解析器,支持CSS选择器 clojail 沙盒环境Clojur
为什么Nginx的性能要比Apache高很多? 这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。 目前Linux下能够承受高并发访问的Squid、Memcached都采用的是epoll网络I/O模型。 处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。 下面
这里是控制 Nginx 的基本功能的指令. 指令 [#daemon daemon] [#debug_points debug_points] [#error_log error_log] [#include include] [#lock_file lock_file] [#master_process master_process] [#pid pid] [#ssl_engine ssl_eng
本文向大家介绍Nginx安装lua-nginx-module模块的方法步骤,包括了Nginx安装lua-nginx-module模块的方法步骤的使用技巧和注意事项,需要的朋友参考一下 ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本 特性很牛叉,可自行百度查看,这里主要是示范一下,如何在Nginx下安
引导任务boot cljs repl提供了一种连接到ClojureScript repl的方法,ClojureScript repl与正在运行的浏览器实例交互。 如果正确地添加到build.boot依赖项中,可以从Clojure repl中调用函数,以便启动ClojureScript REPL。 我正在使用Emacs通过苹果酒软件包连接clojure REPL,该软件包具有以下功能: 我试图弄清楚
Clojure是一种LISP风格的语言,运行在JVM上。Clojure的一大特色就是其并发机制,它支持不可变的数据结构(Clojure是来自于可持久化的数据结构)。Clojure还有一个特色是软件事务存储(Software Transactional Memory,STM),其支持用事务代替锁和互斥器来更新共享内存。STM还是一个有争议的技术,还需要更好的证明自己,一个简单的办法就是访问一个JVM上的实现。
本小节,我们将主要介绍 Nginx 中 Http 请求 11 个阶段中的最后几个重要的阶段以及相关的模块,并演示其用法。 1. try_files 阶段 这个阶段又称为 precontent 阶段,是 content 阶段的前置处理阶段,该阶段主要介入的模块是 ngx_http_try_files_module 模块。该模块依次访问多个 URI 对应得文件(由 root 或者 alias 指令指定
在前面介绍完 post-read、server-rewrite、find-config、rewrite 和 post-rewrite 阶段后,我们将继续学习 preaccess 和 access 两个阶段,中间会涉及部分模块,一同进行说明。 1. preaccess 阶段 在 preaccess 阶段在 access 阶段之前,主要是限制用户的请求,比如并发连接数(limit_conn模块)和每秒