Linux下安装openresty
十一、Linux下安装openresty
11.1.概述
OpenResty是由淘宝工程师开发的,所以其官方网站(http://openresty.org/)我们读起来是非常的方便。OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。所以本身OpenResty内部就已经集成了Nginx和Lua,所以我们使用起来会更加方便。
11.2.下载OpenResty并安装相关依赖:
java
https://openresty.org/download/openresty-1.25.3.1.tar.gz
java
# 一条命令来进行全部安装
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 查询版本信息
gcc --version
# 查询是否安装成功
rpm -qa pcre pcre-devel zlib zlib-devel openssl openssl-devel
11.3.使用wget下载:
java
# 创建包管理
mkdir -p /openresty/core
cd /openresty/core
wget https://openresty.org/download/openresty-1.25.3.1.tar.gz
11.4.解压缩:
java
tar -zxf openresty-1.25.3.1.tar.gz
11.5.进入OpenResty目录:
java
cd openresty-1.25.3.1
11.6.编译和安装
java
./configure
make && make install
java
cd nginx-1.25.3
sh ./configure --prefix=/usr/local/openresty/nginx \
--with-cc-opt='-O2' \
--add-module=../ngx_devel_kit-0.3.3 \
--add-module=../echo-nginx-module-0.63 \
--add-module=../xss-nginx-module-0.06 \
--add-module=../ngx_coolkit-0.2 \
--add-module=../set-misc-nginx-module-0.33 \
--add-module=../form-input-nginx-module-0.12 \
--add-module=../encrypted-session-nginx-module-0.09 \
--add-module=../srcache-nginx-module-0.33 \
--add-module=../ngx_lua-0.10.26 \
--add-module=../ngx_lua_upstream-0.07 \
--add-module=../headers-more-nginx-module-0.37 \
--add-module=../array-var-nginx-module-0.06 \
--add-module=../memc-nginx-module-0.20 \
--add-module=../redis2-nginx-module-0.15 \
--add-module=../redis-nginx-module-0.3.9 \
--add-module=../rds-json-nginx-module-0.16 \
--add-module=../rds-csv-nginx-module-0.09 \
--add-module=../ngx_stream_lua-0.0.14 \
--with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \
--with-stream --without-pcre2 --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_ssl_module
11.7.进入OpenResty的目录,找到nginx:
java
cd /usr/local/openresty/nginx/
11.8.在conf目录下的nginx.conf添加如下内容
java
location /lua{
default_type 'text/html';
content_by_lua 'ngx.say("<h1>HELLO,OpenRestry</h1>")';
}
11.9.在sbin目录下启动nginx
11.10.通过浏览器访问测试
11.11.设置环境变量
java
vim /etc/profile
# openresty
export PATH=$PATH:/usr/local/openresty/nginx/sbin
# 输入下面命令让设置的环境变量生效
source /etc/profile
# 查看版本信息
nginx -V
11.12.openresty安装成系统服务
java
# 创建脚本
vi /usr/lib/systemd/system/openresty.service
# 重新加载系统服务
systemctl daemon-reload
服务脚本内容
java
[Unit]
Description=openresty web service
Documentation=https://openresty.org/cn/
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t -c /usr/local/openresty/nginx/conf/nginx.conf
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/usr/local/openresty/nginx/sbin/nginx -s reload
ExecStop=/usr/local/openresty/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=default.target
java
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式ExecStartpre是检查配置文件
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
11.13.openresty常用命令
java
# 启动服务
systemctl start openresty
#停止
systemctl stop openresty
#重启
systemctl restart openresty
#重新加载配置文件
systemctl reload openresty
# 查看nginx状态
systemctl status openresty
# 开机启动
systemctl enable openresty.service
# 查看nginx是否启动
ps -ef | grep openresty