Openresty实现反向代理、Nginx的图表功能

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实现反向代理、Nginx的图表功能_第1张图片
在这里插入图片描述

让openresty作为一个反向代理,修改它的配置文件

vim /usr/local/openresty/nginx/conf/nginx.conf			##让他作为一个反向代理访问真实主机的8080端口
/usr/local/openresty/nginx/sbin/nginx 					##启动openresty的nginx服务

Openresty实现反向代理、Nginx的图表功能_第2张图片
Openresty实现反向代理、Nginx的图表功能_第3张图片

在本地做好解析后,访问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			##再次测试,还有信息说明有缓存信息

Openresty实现反向代理、Nginx的图表功能_第4张图片
Openresty实现反向代理、Nginx的图表功能_第5张图片

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

Openresty实现反向代理、Nginx的图表功能_第6张图片
(3)测试:

在浏览器输入
http://172.25.33.1:8080/report.html
会有日志中详细的参数,并且是动态的,访问后数字和图形就会发生变化

Openresty实现反向代理、Nginx的图表功能_第7张图片

你可能感兴趣的:(企业运维)