一、简介
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
1、下载
下载http://openresty.org/cn/download.html,官方提供针对不同平台的二进制包,我这里使用的是源码包编译的方式安装,用二进制包安装更简单。
这里下载的是openresty-1.17.8.2.tar.gz
2、linux环境依赖安装
执行yum install pcre-devel openssl-devel gcc curl postgresql-devel命令,安装相关依赖
3、配置安装目录
解压缩
tar -xvzf openresty-1.17.8.2.tar.gz
cd openresty-1.17.8.2
设置安装目录为/opt/openresty-1.17.8.2
./configure --prefix=/opt/openresty-1.17.8.2 --with-http_stub_status_module --with-luajit --with-http_iconv_module --with-http_postgres_module --with-debug
4、编译并安装
执行make -j4命令进行编译
执行make install进行安装
设置软连接
cd /opt
ln -s openresty-1.17.8.2 openresty
5、设置解除1024端口限制
linux默认只有root用户才能使用1024以下的端口
执行以下命令,针对指定服务进行解除,以保证非root账户可以使用1024以下的端口
setcap cap_net_bind_service=+eip /opt/openresty/nginx/sbin/nginx
三、配置nginx
1、使用root用户安装并启动
编辑/opt/openresty/nginx/conf/nginx.conf
修改以下配置
#user nobody;
#worker_processes 1;
为
user root root;
worker_processes auto;
注意: user root root 的意思是: 第一个root标识用户名 第二个root标识用户组名,不要配置错了,通过 id root命令可以查询到对应的组名
2、使用非root用户安装并启动
例如使用wwwroot用户
编辑/opt/openresty/nginx/conf/nginx.conf
修改以下配置
#user nobody;
#worker_processes 1;
为
user wwwroot wwwroot;
worker_processes auto;
注意: user wwwroot wwwroot的意思是: 第一个wwwroot标识用户名 第二个wwwroot标识用户组名,不要配置错了,通过 id wwwroot命令可以查询到对应的组名
非root用户需要在root用户权限下设置openresty安装目录的所属用户名和用户组
执行以下命令
chown -R 所有者用户名.组名 文件夹名称
如:chown -R wwwroot.wwwroot /opt/openresty-1.17.8.2
四、启动nginx
命令如下:
--启动
/opt/openresty/nginx/sbin/nginx
--停止
/opt/openresty/nginx/sbin/nginx -s stop
--重启
/opt/openresty/nginx/sbin/nginx -s reload
--检验nginx配置是否正确
/opt/openresty/nginx/sbin/nginx -t
启动完毕可以访问地址 http://ip地址
如果显示welcome to openresty 则表示ng安装启动成功
五、隐藏nginx版本信息
编辑/opt/openresty/nginx/conf/nginx.conf
http段添加
server_tokens off;