local function local_print(str)
local dbg = io.open("conf/lua/logs/output.txt", "a+")
local str = str or ""
if dbg then
dbg:write(str..'\n')
dbg:close()
end
end local template = require("resty.template")
local redis = require("resty.redis")
local mysql = require("resty.mysql") local context = {
title = "测试",
name = "张三",
description = "<script>alert(1);</script>",
script = "alert(1)",
age = 20,
hobby = {"电影", "音乐", "阅读"},
-- score = {"语文" = 90, "数学" = 80, "英语" = 70},
score2 = {
{name = "语文", score = 901},
{name = "数学", score = 810},
{name = "英语", score = 710},
},
file = 'xiaowu'
} -- 关闭redis链接
local function close_redes( red )
if not red then
return
end
local ok, err = red:close()
if not ok then
local_print("close redis error:" .. err)
end
end -- 创建实例
local red = redis:new()
-- 设置超时(毫秒)
red:set_timeout(2000)
-- 建立连接
local ip = "192.168.10.10"
local port = 7000
local ok, err = red:connect(ip, port)
if not ok then
return
end
-- 没有密码不需要写
-- local res, err = red:auth("")
-- if not res then
-- local_print("connect to redis error : " .. err)
-- return
-- end -- 调用api进行操作
res, err = red:set("msg", "hello world")
if not res then
local_print("set msg error : " .. err)
end local resp, err = red:get("msg")
if not resp then
local_print("get msg erro:" .. err)
else
context.title = resp
end close_redes(red) ---------------------------------------------------------------------------------------
local function close_db( db )
if not db then
return
end
db:close()
end -- 创建实例
local db, err = mysql:new()
if not db then
local_print("new mysql error:" .. err)
return
end
-- 设置超时时间(毫秒)
db:set_timeout(5000) local props = {
host = "192.168.10.5",
port = 3306,
database = "union",
user = "rshy",
password = "123456"
} local res, err, errno, sqlstate = db:connect(props) if not res then
local_print("connect to mysql error : " .. err, " , errno : " .. errno, " , sqlstate : " .. sqlstate)
return close_db(db)
else
local select_sql = "select teacherid from teacher limit 2"
res, err, errno, sqlstate = db:query(select_sql)
if not res then
local_print("select error : " .. err, " , errno : " .. errno, " , sqlstate : " .. sqlstate)
return close_db(db)
else
for k, v in pairs(res) do
local_print(k .. v.teacherid)
end
end end
--------------------------------------------------------------------------------------- template.render("t1.html", context)

  

#user  nobody;
worker_processes 1; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; 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_nopush on; #keepalive_timeout 0;
keepalive_timeout 65; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; # luatext
location /luatest {
access_log logs/luatest.access.log main;
default_type text/html;
# 即缓存lua代码,即每次lua代码变更必须reload nginx才生效,
# 如果在开发阶段可以通过lua_code_cache off;关闭缓存,
# 这样调试时每次修改lua代码不需要reload nginx;但是正式环境一定记得开启缓存
lua_code_cache on;
# content_by_lua_block {
# ngx.say("<p>hello, world ...... </p>")
# }
# content_by_lua_file conf/lua/test1.lua; header_filter_by_lua_block {
ngx.header.content_length = nil
} body_filter_by_lua_file conf/lua/test1.lua; } location /luatemplatetest {
#first match ngx location(首先匹配位置) html下的templates
set $template_location "/templates";
#then match root read file(其次匹配位置)
set $template_root "C:/openresty/openresty-1.15.8.3-win64/templates"; access_log logs/luatemplatetest.access.log main;
default_type text/html;
# 即缓存lua代码,即每次lua代码变更必须reload nginx才生效,
# 如果在开发阶段可以通过lua_code_cache off;关闭缓存,
# 这样调试时每次修改lua代码不需要reload nginx;但是正式环境一定记得开启缓存
lua_code_cache on;
# content_by_lua_block {
# ngx.say("<p>hello, world ...... </p>")
# }
content_by_lua_file conf/lua/test2.lua;
# 与html同级的目录
# root templates; } # 分发Django服务
location /admin {
access_log logs/admin.access.log main;
proxy_pass http://127.0.0.1:8000;
} # 创建一个新的目录
location /xiaowu {
access_log logs/xiaowu.access.log main;
root html;
index index.html index.htm;
} location /mytest {
access_log logs/mytest.access.log main;
root html;
index index.html index.htm;
} location / {
root html;
access_log logs/host.access.log main;
index index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
} server {
listen 443 ssl;
server_name bdsapp.peixun86.com;
# ssl on;
ssl_certificate ssl/3739731_bdsapp.peixun86.com.pem;
ssl_certificate_key ssl/3739731_bdsapp.peixun86.com.key; location / {
access_log logs/access_liu.log main;
root html;
index index.html index.htm;
} location /union {
access_log logs/access_union.log main;
proxy_pass http://test.nadiyi.cn;
} location /merchant {
access_log logs/access_merchant.log main;
proxy_pass http://test.nadiyi.cn;
} } # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

  

openresty - nginx - 配置的更多相关文章

  1. openresty(nginx) 配置 stream 转发

    nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发.代理或者负载均衡等. (1)关于stream域的模块有哪些? 目前官网上列出的第三方模块.简直就是http模块的镜像. ...

  2. openresty(nginx) 配置 http与https使用同一个端口,禁止 IP 直接访问

    准备好工作目录 mkdir work cd work mkdir conf logs 准备好 conf/nginx.conf 配置文件, 把 your.domain 换成你自己的域名 user abc ...

  3. Openresty安装及使用配置(OPENRESTY+NGINX)

    Openresty 简介 Openresty是一个基于NGINX和Lua的高性能Web平台,内部有大量的Lua库和第三方模块,能够很方便的搭建处理高并发,扩展性高的Web平台和动态网关,充分利用 Ng ...

  4. centos8上配置openresty/nginx可访问php

    一,创建一个测试站的目录 [root@yjweb data]# mkdir dev [root@yjweb data]# cd dev [root@yjweb dev]# mkdir think_ww ...

  5. 使用etcd+confd管理nginx配置

    1.前言 最近在项目中用nginx做反向代理,需要动态生成nginx的配置.大概流程是用户在页面上新增域名.http或https协议以及端口信息,后台会根据域名自动生成一个nginx的server配置 ...

  6. OpenResty(nginx+lua) 入门

    OpenResty 官网:http://openresty.org/ OpenResty 是一个nginx和它的各种三方模块的一个打包而成的软件平台.最重要的一点是它将lua/luajit打包了进来, ...

  7. openresty(nginx)、lua、drizzle调研

    一.概述: 1.研究目标:nginx中使用lua脚本,及nginx直接访问mysql,redis 2.需要安装的内容: openresty,mysql,redis 3.OpenResty (也称为 n ...

  8. OpenResty(nginx扩展)实现防cc攻击

    OpenResty(nginx扩展)实现防cc攻击 导读 OpenResty 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强 ...

  9. openresty nginx 安装过程记录

    转载请注明原始地址 http://www.cnblogs.com/dongxiao-yang/p/4877799.html 一 :系统版本 1 cat /etc/issue: CentOS relea ...

随机推荐

  1. .NET 5/.NET Core使用EF Core 5连接MySQL数据库写入/读取数据示例教程

    本文首发于<.NET 5/.NET Core使用EF Core 5(Entity Framework Core)连接MySQL数据库写入/读取数据示例教程> 前言 在.NET Core/. ...

  2. CPF 入门教程 - 属性和事件(七)

    CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门 ...

  3. 3. Linux基本结构与终端打开方法,关闭方法。

    Linux基本机构: 应用程序 标准库 Linux操作系统内核 硬件 (上层依赖于下层) 终端工具: 打开方法: 1.点击图标 2.搜索命令:终端 退出终端: 1.exit<回车> 2.C ...

  4. thinkphp5安装php高版本出现No input file specified.解决

    <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{RE ...

  5. adbi学习:java hook实现机制

    adbi的java hook实现代码ddi不在之前下载的文件中,下载地址:https://github.com/crmulliner/ddi,具体的编译看readme里面很详细的介绍了.注意ddi代码 ...

  6. poj 2472

    题意:      给你一个无向图,然后每条边的权值就是不被抓的概率,有个货要从1逃到n,问你他的最安全概率是多少? 思路:       水题,直接跑就行了,一开始自己想多了,还转换了一下log,后来发 ...

  7. poj2418map或者字典树

    题意:      给你一些串,然后求出每个串出现的概率. 思路:      简单题目,做法也很多,我用字典树做了下,然后又用map做了下,其实这个题目我感觉直接排序一遍之后线性输出应该是最简单最快的( ...

  8. SpringBoot程序后台运行

    使用nohup命令让进程后台运行 nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 & >日志文件名.log : ...

  9. Govern Service 基于 Redis 的服务治理平台

    Govern Service 基于 Redis 的服务治理平台(服务注册/发现 & 配置中心) Govern Service 是一个轻量级.低成本的服务注册.服务发现. 配置服务 SDK,通过 ...

  10. [技术博客]iview组件样式踩坑记录

    [技术博客]iview组件样式踩坑记录 iview官方文档. 在本次项目开发中,前端项目主要使用vue框架+iview组件构建,其中iview组件在使用过程中遇到了许多官方文档中没有明确说明或是很难注 ...