在北京生活,路上遇到很多和我们擦肩而过的人,哪怕看他平平无奇,你记住,他们一定有故事~
大家好,我是奈何,老规矩,我们先听故事,后学知识!
不知从何说起的我,开始支支吾吾的,嗯…~(那就从这里开始吧。)
来到北京后,最近项目经理给了我很多需求,竟然是让我干运维的活儿,其实我也应该为此而感到欣慰,毕竟想做一名的优秀的Java开发也得从全栈开始学起吧(【滑稽】好像互联网大厂也要求Java开发什么都会吧~对,是的!)。
我硬着头皮接了这一系列需求,从配置测试服务器、安装docker、配置Jenkins等等开始,现在要求我去安装配置nginx的https代理。于是我大干了一场,同时踩了许多的坑,也成长了许多…(这只是故事一个简单的开始~!)
于是,我就开始了安装和配置nginx,这时候我高兴的配置好了nginx的https代理,感觉自己好像完成了这次任务,结果经理告诉我nginx得打印日志呀,我们得看到全部的请求和响应报文等信息的,要么以后排查问题咋整?(之前我就简单的配置了nginx的access日志)于是,我又接下来这个看似很可怕的需求,开始进行求助,于是发现了可以使用nginx配置lua脚本实现打印日志的功能。但是由于解决这个问题需要安装nginx、LuaJIT和lua-nginx-module模块,而安装的过程需要配置环境变量和nginx关联lua,这个过程很容易出错而且问题多多。通过大佬的引荐,我有幸用到了openresty。有的小伙伴会问,openresty是什么呢,接下来回答会让你充满了幸福感!
OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,是一个强大的 Web 应用服务器,在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。目标是让你的 Web 服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应。MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应。
看到了OpenResty的我,仿佛看到了春天,瞬间有了春风拂面的感觉,我洋溢在美好的春天一不小心划了那么一会~~~当自己反应过来的时候,时间已过了很久,撸起袖子,卸载了nginx,开始安装OpenResty!哦买噶,突然感觉幸福来的太突然了!舒服
在安装之前,首先卸载原来的nginx,如下步骤:
# 停止nginx服务
ps -ef | grep nginx
# 进入sbin目录
cd /usr/local/nginx/sbin
./nginx -s stop
# 找到nginx相关目录文件
sudo find / -name nginx
# 根据找到的文件路径进行删除
sudo rm -rf 找到的文件路径
卸载nginx完成后开始安装openresty,如下步骤:
openresty下载地址http://openresty.org/en/download.html
PS:选择比较靠前的版本,因为nginx的版本在1.11.8支持escape=json参数,可以消除低版本的特殊符号转码问题,简单可以理解为高版本已经解决了符号乱码问题!
乱码问题的坑我已经踩了,就是nginx低于1.11.8,打印的日志特殊符号会变成\xx22等乱码,只要下载高版本的openresty,查看nginx版本是否大于此版本即可自动解决乱码问题!
开始安装
yum -y install readline-devel pcre-devel openssl-devel
tar xzvf ngx_openresty-1.15.8.2.tar.gz # 解压
cd ngx_openresty-1.15.8.2/
# 如果安装需要指定目录的话,可以在如下命令后追加右侧目录 --prefix=指定目录
./configure
make
make install
测试openresty
# mkdir /data/test