主要逻辑
上传
前端请求nginx服务,nginx调用upload脚本,脚本通过查找配置,找到对应的逻辑存储路径和物理存储机器的agent的ip和端口,通过tcp发包到对应agent,部署在对应机器的agent接受数据,并写到本地文件。
下载
http下载请求nginx,nginx调用download脚本,脚本解析链接参数,根据参数找到对应的agent地址,请求返回文件二进制内容,脚本接受到agent返回的数据,返回给请求端。
配置Nginx+lua
接下来主要讲一下nginx安装配置(这里包括lua的二进制流处理lpack,md5计算,mysql操作,json操作)
1、安装nginx 下载http://nginx.org/en/download.html 解压tar -xvf nginx-1.10.3.tar.gz
2、安装luajit(轻量级lua)http://luajit.org/download.html 修改makefile 里面的安装路径export PREFIX= /usr/local/luajit 然后安装 make &make install
3、安装nginx_lua_module 下载https://github.com/openresty/lua-nginx-module 解压
4、 安装ngx_devel_kit (NDK提供函数和宏处理一些基本任务,减轻第三方模块开发的代码量)下载https://github.com/simpl/ngx_devel_kit/
5、安装编译 ,导入
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/home/oicq/jeffzhuang/ngx_devel_kit-0.3.0 --add-module=/home/oicq/jeffzhuang/lua-nginx-module-0.10.3
make -j2
make install
启动/usr/local/nginx/sbin/nginx 重启命令 usr/local/nginx/sbin/nginx -s reload
如果报错找不到luajit库 ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2
测试nginx直接打开浏览器就可