1、使用openresty缓存功能
(1)openresty是什么?
OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
(2)openresty的优势?
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。
借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。
而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。
(3)利用openresty做反向代理,实现缓存
下载openresty并且编译安装
软件可以直接在官网上获得,本机使用的是最新版openresty-1.15.8.1.tar.gz
tar zxf openresty-1.15.8.1.tar.gz ##首先解压安装包
cd openresty-1.15.8.1 ##进入解压目录
./configure --prefix=/usr/local/openresty ##执行编译脚本直接开始编译
gmake && gmake install ##根据提示不能使用make
原来的nginx作为web服务器的配置
vim /usr/local/nginx/conf/nginx.conf ##修改配置文件,因为openresty也使用80端口,所以我们把这个
nginx的端口改为8080,让它作为一个真实的web服务器,让openresty作为一个反向代理服务器使用80端口
systemctl reload nginx
让openresty作为一个反向代理,修改它的配置文件
vim /usr/local/openresty/nginx/conf/nginx.conf ##让他作为一个反向代理访问真实主机的8080端口
/usr/local/openresty/nginx/sbin/nginx ##启动openresty的nginx服务
在本地做好解析后,访问www.westos.org,当真实web服务器的nginx被关闭后,还可以访问到网址信息,说明缓存成功
vim /etc/hosts
172.25.21.1 www.westos.org
curl -I www.westos.org
systemctl stop nginx ##关闭真实web服务器的nginx
curl -I www.westos.org ##再次测试,还有信息说明有缓存信息
2.nginx的图表统计功能
(1).软件的安装
需要两个包,可以在官网上下载,本机使用的是:
goaccess-1.3.tar.gz ##图表功能软件安装包
GeoIP-devel-1.5.0-11.el7.x86_64.rpm ##图表功能安装包编译时需要的依赖环境
yum install GeoIP-devel-1.5.0-11.el7.x86_64.rpm ##先安装环境依赖
tar zxf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --prefix=/usr/local/goaccess --enable-utf8 --enable-geoip=legacy --with-openssl
##执行编译安装脚本,加上解码等参数
make && make install ##编译安装到指定位置
/usr/local/openresty/nginx/sbin/nginx -s stop ##把缓存服务的openresty关掉
cd /usr/local/goaccess/bin/ ##进入软件的执行命令目录
ln -s /usr/local/goaccess/bin/goaccess /usr/bin/ ##给执行命令创建一个软链接
(2)服务的配置
cd /usr/local/nginx/logs/ ##进入nginx的日志目录下
goaccess access.log -o ../html/report.html --real-time-html --time-format='%H:%M:%S'
--date-format='%d/%b/%Y' --log-format=COMBINED ##把日志以默认混合的方式输出成一个html文件可以直接在网页上访问
再开启一个shell连上主机:
vim /usr/local/nginx/conf/nginx.conf ##修改nginx配置文件
systemctl reload nginx.service
(3)测试:
在浏览器输入
http://172.25.33.1:8080/report.html
会有日志中详细的参数,并且是动态的,访问后数字和图形就会发生变化