docker run --name openresty -p 80:80 -p 443:443 -di openresty/openresty
访问测试
http://192.168.31.42/ <your ip>
进入容器修改文件
docker exec -it openresty /bin/bash
容器安装vi
apt-get update
apt-get -y install vim
缓存预热
编写脚本
cd /root
mkdir lua
cd lua
vim ad_update.lua
# 此时vim不能粘贴 必须 esc-》:-》set mouse-=a 然后就可以粘贴下面脚本
# 修改mysql和redis连接信息,我都是docker容器里面的,用的宿主机ip
ngx.header.content_type="application/json;charset=utf8"
local cjson = require("cjson")
local mysql = require("resty.mysql")
local uri_args = ngx.req.get_uri_args()
local position = uri_args["position"]
local db = mysql:new()
db:set_timeout(1000)
local props = {
host = "192.168.31.42",
port = 3306,
database = "changgou_business",
user = "root",
password = "root"
}
local res = db:connect(props)
local select_sql = "select url,image from tb_ad where status ='1' and position='"..position.."' and start_time<= NOW() AND end_time>= NOW()"
res = db:query(select_sql)
db:close()
local redis = require("resty.redis")
local red = redis:new()
red:set_timeout(2000)
local ip ="192.168.31.42"
local port = 6379
red:connect(ip,port)
red:set("ad_"..position,cjson.encode(res))
red:close()
ngx.say("{flag:true}")
修改nginx配置信息
vim /usr/local/openresty/nginx/conf/nginx.conf
# 在第一行添加
user root root;
# 删除末尾的 include /etc/nginx/conf.d/*.conf;
# 替换成下面的 server内容