Linux下安装openresty

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

endl

相关推荐
AlfredZhao1 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao15 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346621 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫2 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++