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. MySQL 储存引擎知识点

    一:MySQL 存储引擎概述 1.1 什么是存储引擎: '''MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛 ...

  2. 0703-可视化工具tensorboard和visdom

    0703-可视化工具tensorboard和visdom 目录 一.可视化工具概述 二.TensorBoard 三.Visdom 3.1 visdom 概述 3.2 visdom 的常用操作 3.3 ...

  3. 基于MATLAB的手写公式识别(5)

    基于MATLAB的手写公式识别 总结一下昨天一天的工作成果: 获得了大致的识别过程. 一个图像从生肉到可以被处理需要经过预处理(灰质化.增加对比度.中值过滤.膨胀或腐蚀.闭环运算). 掌握了相关函数的 ...

  4. PAT归纳总结——关于C++输入输出格式问题的一些总结

    自从使用了C++就不再想使用C语言来刷题了,C++便捷的输入输出方式,以及一些STL库函数的使用都要比使用C语言方便的多.但是使用的时候还有一些需要注意的地方,在这篇博客中写一下.(更好的教程可以参看 ...

  5. Python中zipfile压缩文件模块的使用

    目录 zipfile 压缩一个文件 解压文件 高级应用 利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令 zipfile Python 中 zipfile 模块提供了对 z ...

  6. Redis数据结构—链表与字典

    目录 Redis数据结构-链表与字典 链表 Redis链表节点的结构 Redis链表的表示 Redis链表用在哪 字典 Redis字典结构总览 Redis字典结构分解 哈希算法 解决键冲突 rehas ...

  7. python中的的异步IO

    asyncio 是干什么的? 异步网络操作 并发 协程 python3.0 时代,标准库里的异步网络模块:select(非常底层) python3.0时代,第三方异步网络库:Tornado pytho ...

  8. 集成Spring Data JPA

    1.Spring Data JPA简介 Spring Data是一个用于简化数据访问,并支持云服务的开源框 使用完成Spring Data JPA对user表的CRUD操作. 2.步骤 1.创建工程勾 ...

  9. IP子网划分与聚合

    一:IP地址: IP地址是由32位2进制数组成,每8位一组.由点分十进制表达. IP地址可以分为五类 A类(1.0.0.0-126.255.255.255),127.0.0.1 为本地回环地址. B类 ...

  10. multiset容器erase函数的误用

    <从缺陷中学习C/C++>第3章库函数问题,本章主要介绍库函数的使用中会遇到的问题.使用库函数可以降低软件开发的难度,提高代码编写的效率.本节为大家介绍multiset容器erase函数的 ...