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

本文介绍了如何利用Nginx和Lua搭建文件上传和下载服务。主要逻辑包括前端请求触发Nginx调用上传或下载脚本,脚本与代理agent进行TCP通信完成文件操作。配置Nginx涉及到lua相关模块的安装,如lua-nginx-module、lua-resty-upload等,并详细阐述了配置步骤和关键代码。
摘要由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直接打开浏览器就可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值