Nginx_luajit安装

下载地址

Nginx安装

  • 安装依赖
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
  • 安装pcre
下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version
  • 安装LuaJit
http://luajit.org/download.html
tar zxvf LuaJIT-2.0.2.tar.gz
cd LuaJIT-2.0.2
make install PREFIX=/usr/local/luajit
echo "/usr/local/luajit/lib" > /etc/ld.so.conf.d/usr_local_luajit_lib.conf
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
可能需要
ln -s /usr/local/luajit/lib/libluajit-5.1.so.2 /usr/lib64/libluajit-5.1.so.2
  • 安装ngx_devel_kit
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xzvf v0.3.0.tar.gz
  • 安装lua-nginx-module
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.8.tar.gz
tar -xzvf v0.10.8.tar.gz
  • 安装Nginx
wget http://nginx.org/download/nginx-1.14.1.tar.gz
tar -xzvf nginx-1.14.1.tar.gz
cd nginx-1.14.1
./configure --prefix=/app/nginx --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.42 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.0g --add-module=/opt/soft/ngx_devel_kit-0.3.0 --add-module=/opt/soft/lua-nginx-module-0.10.8
make -j 2
make install

配置

配置nginx.conf

user nginx nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;

pid        nginx.pid;
worker_rlimit_nofile 65535;


events {
    use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_max_size 1024;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 64k;
    large_client_header_buffers 4 32k;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    tcp_nodelay   on;
    server_tokens off;
    keepalive_timeout  90;
    output_buffers 1 32k;
    proxy_connect_timeout  75;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
    proxy_buffer_size 64k;
    proxy_buffers 8 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;


    gzip  on;
    gzip_min_length  1k;
    gzip_buffers  4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain application/x-javascript text/css application/xml text/xml;
    gzip_vary on;

    server {
        listen       127.0.0.1:8883;
        server_name  localhost;
    	charset utf-8;
        root /usr/local/nginx/html;

        access_log off;

        location /favicon.ico {
            log_not_found off;
            access_log off;
        }
    }
    include /usr/local/nginx/conf/vhost/*.conf;
}

编写一个lua脚本文件在nginx/conf目录下

  • file.fresh00air.top.access_by.lua

    -- local headers = ngx.req.get_headers()
    -- if headers['Host'] ~= 'file.fresh00air.top' then
    if ngx.var.http_host ~= 'file.fresh00air.top' then
        ngx.exit(ngx.HTTP_FORBIDDEN)
        return
    end
    

在nginx/conf目录下创建一个vhost的文件夹

  • 创建一个www.conf配置文件
    server{
        listen 80;
        server_name file.fresh00air.top;
        root /app/www;
        access_log off;
        allow all;
        #deny all;
        access_by_lua_file 'conf/file.fresh00air.top.access_by.lua';
    }
    

这样就可以使用lua脚本来过滤host了
其他具体的lua脚本方法和参数可以参考网上的配置
最后 nginx -s reload

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值