nginx+lua搭建文件上传下载服务

项目需要做一个文件上传下载服务,利用nginx+lua 做一个代理服务,上传入口统一,分发到不同的机器存储,下载链接和物理存储隔离,支持添加agent的方式扩容,这里主要讲一下思路和搭建配置过程,大神勿喷。
摘要由CSDN通过智能技术生成

主要逻辑

上传

        前端请求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直接打开浏览器就可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值