1. 程式人生 > >OpenResty配置nginx+lua開發環境

OpenResty配置nginx+lua開發環境

OpenResty的安裝請參考本人另一篇文章:centos7安裝OpenResty代替nginx

=========

1,編輯nginx 配置檔案配置: vim /app/services/openresty/nginx/conf/nginx.conf

user  root;
worker_processes  1;

error_log  /app/logs/nginx/error.log;
error_log  /app/logs/nginx/error-notice.log  notice;
error_log  /app/logs/nginx/error-info.log  info;

pid        /app/services/openresty/nginx/logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #lua_code_cache off;

    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  /app/logs/nginx/access.log  main;
    #開啟重寫日誌
    rewrite_log on;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    #include             /app/services/openresty/nginx/conf/mime.types;
    #default_type        application/octet-stream;


    lua_package_path "/app/conf/lualib/?.lua;;"; #lua 模組
    lua_package_cpath "/app/conf/lualib/?.so;;"; #c模組

    include /app/conf/nginx/*.conf; #nginx 配置

}

2,新建/app/conf 資料夾放openresty配置檔案

新建/app/conf/nginx 資料夾存放nginx的配置檔案;
新建/app/conf/lualib 資料夾存放lua和c的模組指令碼;

3,例如:

在/app/conf/nginx新建lua.conf檔案:
	server { 
		listen 80; 
		server_name _;
		
		
		location /lua { 
			default_type 'text/html'; 
			content_by_lua_file /app/conf/lualib/test.lua; 
		}
	}

在/app/conf/lualib新建test.lua檔案:
	ngx.say("hehe... hello world by lua!");

nginx -t
nginx -s reload

訪問如http://10.0.2.81/lua,可以看到響應

4,關閉快取

可以在nginx.conf http裡面配置lua_code_cache off;關閉快取,	這樣除錯時每次修改lua程式碼不需要reload nginx;但是正式環境一定記得開啟快取。