入门指南

下载

生产环境的话从Download下载最新稳定版, 其他情况可以git clone。

编译

  1. make TARGET=linux2628 USE_LUA=1 LUA_INC=/usr/include/lua5.3 USE_OPENSSL=1 USE_PCRE=1 USE_ZLIB=1
  2. make install PREFIX=/usr/local/nuster

添加USE_PTHREAD_PSHARED=1使用pthread

如果不需要可以删除USE_LUA=1 LUA_INC=/usr/include/lua5.3 USE_OPENSSL=1 USE_PCRE=1 USE_ZLIB=1

具体可以参考HAProxy README

配置文件

准备一个配置文件: nuster.cfg

  1. global
  2. nuster cache on data-size 100m uri /_nuster
  3. nuster nosql on data-size 200m
  4. master-worker # v3
  5. defaults
  6. mode http
  7. frontend fe
  8. bind *:8080
  9. #bind *:4433 ssl crt example.com.pem alpn h2,http/1.1
  10. use_backend be2 if { path_beg /_kv/ }
  11. default_backend be1
  12. backend be1
  13. nuster cache on
  14. nuster rule img ttl 1d if { path_beg /img/ }
  15. nuster rule api ttl 30s if { path /api/some/api }
  16. server s1 127.0.0.1:8081
  17. server s2 127.0.0.1:8082
  18. backend be2
  19. nuster nosql on
  20. nuster rule r1 ttl 3600

nuster监听8080端口,接受HTTP请求。/_kv/开头的请求分配到backend be2, 可以发送HTTP POST/GET/DELETE/_kv/any_key 来 添加/取得/删除 Key/Value.其他的请求都被分配到backend be1, 并且会被转发到服务器s1 or s2. 其中/img/*请求会被缓存1天,而/api/some/api会被缓存30秒。

启动

/usr/local/nuster/sbin/nuster -f nuster.cfg

Docker

  1. docker pull nuster/nuster
  2. docker run -d -v /path/to/nuster.cfg:/etc/nuster/nuster.cfg:ro -p 8080:8080 nuster/nuster