worker_processes 7; #nginx worker 数量 error_log logs/error.log; #指定错误日志文件路径 events { worker_connections 1024; } http { include mime.types; # 这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量, # 建议和打开文件数一致,inactive 是指经过多长时间文件没被请求后删除缓存。 open_file_cache max=100 inactive=30s; # open_file_cache 指令中的inactive 参数时间内文件的最少使用次数, # 如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个 # 文件在inactive 时间内一次没被使用,它将被移除。 open_file_cache_min_uses 1; # 这个是指多长时间检查一次缓存的有效信息 open_file_cache_valid 60s; #开启高效文件传输模式 sendfile on; #提高I/O性能 tcp_nodelay on; access_log logs/access.log; #lua 模块 lua_package_path "/usr/local/openresty/lua/?.lua;/usr/local/openresty/lualib/?.lua;;"; #c模块 lua_package_cpath "/usr/local/openresty/lualib/?.so;;"; lua_code_cache on; # 共享字典,也就是本地缓存,名称叫做:stock_cache,大小1m lua_shared_dict stock_cache 1m; #秒杀确认页相关负载均衡 upstream confirm { server 192.168.65.155:8855; } #秒杀订单相关负载均衡 upstream order { server 192.168.65.133:8844; } server { #监听端口 listen 80; charset utf-8; set $template_root /usr/local/openresty/tpl; location /test { default_type text/html; content_by_lua_block { ngx.say("泰勒斯说万物充满了神明,是让我们把神明拉下神座,从此诸神迎来了他们的黄昏") } } #产品静态模板化网页访问 location /product { default_type text/html; content_by_lua_file lua/product.lua; } #静态资源访问 location /static { root /usr/local/openresty; index index.html index.htm; } #秒杀确认页反向代理 location /skcart { proxy_pass http://confirm; } #秒杀订单反向代理 location /seckillOrder { proxy_pass http://order; } #秒杀产品当前库存 location /cache/stock { # 默认的响应类型 default_type application/json; # 响应结果由lua/stock.lua文件来处理 content_by_lua_file lua/stock.lua; } } }