服务器版本:CentOS 7.6
OpenResty简介
OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。
OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。
OpenResty搭建
- 安装前置依赖环境
yum install -y libtermcap-devel ncurses-devel libevent-devel readline-devel pcre-devel gcc openssl openssl-devel per perl wget
- 下载OpenResty安装包
cd /app/tools
wget https://openresty.org/download/openresty-1.19.9.1.tar.gz
- 下载nginx_ngx_cache_purge模块
cd /app/tools
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
- 解压安装包与模块
tar -zxvf openresty-1.19.9.1.tar.gz
tar -zxvf ngx_cache_purge-2.3.tar.gz
- 安装openresty及相关模块
cd openresty-1.19.9.1
./configure --prefix=/app/nginx_openresty --with-luajit --without-http_redis2_module --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module=/app/tools/ngx_cache_purge-2.3/
make & make install
--prefix:安装路径
--with-luajit:安装luajit相关库,luajit是lua的高效版,运行速度比标准lua快数十倍
-- without-http_redis2_module:不安装redis2支持的lua库
-- with-http_stub_status_module:http状态库
--with-http_v2_module:http2的支持
--with-http_gzip_static_module:gzip服务端压缩支持
--with-http_sub_module:过滤器,可以通过一个指定的字符串替换为另一个字符串来修改响应
--add-module:添加外部模块
ngx_cache_purge:nginx proxy cache清理工具
模块具体作用可以参考腾讯云开发者手册
安装之后可以在安装路径下看到安装好的nginx
- 环境变量
vim /etc/profile
export PATH=/app/nginx_openresty
source /etc/profile
- 开机启动
vim /usr/lib/systemd/system/nginx.service
[Service]
Type=forking
PIDFile=/app/nginx_openresty/nginx/logs/nginx.pid
ExecStartPre=/app/nginx_openresty/nginx/sbin/nginx -t
ExecStart=/app/nginx_openresty/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload 重新加载服务配置文件
systemctl status nginx.service 查看Nginx状态
systemctl enable nginx.service 开启启动
systemctl start nginx.service 启动nginx
启动之后,访问http://ip:80即可看到Openresty的初始页面