首页服务器教程Linux安装OpenResty教程:替代Nginx并支持Lua脚本

Linux安装OpenResty教程:替代Nginx并支持Lua脚本

2026-08-27 17

OpenResty是在Nginx基础上集成LuaJIT和大量Lua库的Web平台,常用于反向代理、接口鉴权、动态限流、网关逻辑和边缘业务处理。如果后续需要在Nginx层编写Lua脚本,OpenResty通常比手动给Nginx编译Lua模块更方便。

本文以常见Linux服务器为例,介绍CentOS、Rocky Linux、Ubuntu和Debian安装OpenResty的方法,并说明启动、验证和常用目录。

一、安装前检查

安装前先确认系统版本、CPU架构、网络状态和80端口占用情况。

查看系统版本:

cat /etc/os-release

查看CPU架构:

uname -m

检查80端口是否被占用:

ss -lntp | grep :80

如果80端口已经被Nginx、Apache、宝塔面板或其他Web服务占用,OpenResty启动时可能失败。可以选择:

  • 停止原Web服务
  • 修改OpenResty监听端口为8080
  • 让OpenResty接管原Nginx配置
  • 在测试阶段先不监听80端口

正式替换线上Nginx前,建议先备份原配置文件和站点目录。

二、CentOS或Rocky Linux安装OpenResty

CentOS、Rocky Linux、AlmaLinux等RHEL系系统可以使用OpenResty官方软件源安装。

先安装基础工具:

sudo yum install -y yum-utils wget curl

添加OpenResty官方仓库:

sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

安装OpenResty:

sudo yum install -y openresty

如果系统使用dnf,也可以将yum替换为dnf

sudo dnf install -y yum-utils wget curl
sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
sudo dnf install -y openresty

安装完成后,可检查版本:

/usr/local/openresty/nginx/sbin/nginx -V

三、Ubuntu或Debian安装OpenResty

Ubuntu和Debian可以通过OpenResty官方APT源安装。

更新软件源并安装依赖:

sudo apt-get update
sudo apt-get install -y wget gnupg ca-certificates lsb-release

导入OpenResty GPG密钥:

wget -O - https://openresty.org/package/pubkey.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/openresty.gpg

添加OpenResty软件源。

Ubuntu使用:

echo "deb [signed-by=/usr/share/keyrings/openresty.gpg] http://openresty.org/package/ubuntu $(lsb_release -sc) main" \
  | sudo tee /etc/apt/sources.list.d/openresty.list

Debian使用:

echo "deb [signed-by=/usr/share/keyrings/openresty.gpg] http://openresty.org/package/debian $(lsb_release -sc) openresty" \
  | sudo tee /etc/apt/sources.list.d/openresty.list

更新软件源并安装:

sudo apt-get update
sudo apt-get install -y openresty

检查版本:

/usr/local/openresty/nginx/sbin/nginx -V

四、启动OpenResty

OpenResty主程序路径通常为:

/usr/local/openresty/nginx/sbin/nginx

启动服务:

sudo /usr/local/openresty/nginx/sbin/nginx

检查配置是否正确:

sudo /usr/local/openresty/nginx/sbin/nginx -t

如果修改了配置,重新加载:

sudo /usr/local/openresty/nginx/sbin/nginx -s reload

停止OpenResty:

sudo /usr/local/openresty/nginx/sbin/nginx -s stop

如果提示80端口被占用,需要先处理原Web服务,或修改OpenResty配置中的监听端口。

五、验证访问

本机测试:

curl http://127.0.0.1/

如果返回OpenResty默认HTML页面,说明服务已经启动成功。

也可以在浏览器中访问:

http://服务器IP/

如果外部无法访问,应检查:

  • OpenResty是否正在监听80端口
  • 服务器防火墙是否放行80端口
  • 云服务器安全组是否放行80端口
  • 是否仍有其他Web服务占用端口
  • OpenResty配置文件是否测试通过

查看监听状态:

ss -lntp | grep nginx

六、OpenResty常用目录

OpenResty默认安装目录如下:

用途 路径
主程序 /usr/local/openresty/nginx/sbin/nginx
主配置文件 /usr/local/openresty/nginx/conf/nginx.conf
日志目录 /usr/local/openresty/nginx/logs/
默认站点目录 /usr/local/openresty/nginx/html/
OpenResty根目录 /usr/local/openresty/

常用日志文件包括:

/usr/local/openresty/nginx/logs/access.log
/usr/local/openresty/nginx/logs/error.log

排查启动失败时,可以优先查看错误日志:

tail -n 100 /usr/local/openresty/nginx/logs/error.log

七、修改监听端口

如果不想直接占用80端口,可以先将OpenResty改为监听8080。

编辑配置文件:

sudo vim /usr/local/openresty/nginx/conf/nginx.conf

找到默认server配置,将:

listen 80;

改为:

listen 8080;

检查配置:

sudo /usr/local/openresty/nginx/sbin/nginx -t

重新加载:

sudo /usr/local/openresty/nginx/sbin/nginx -s reload

验证:

curl http://127.0.0.1:8080/

八、配置简单Lua测试

安装OpenResty后,可以添加一个简单Lua接口验证环境是否可用。

编辑配置:

sudo vim /usr/local/openresty/nginx/conf/nginx.conf

在默认server中加入:

location /lua-test {
    default_type text/plain;
    content_by_lua_block {
        ngx.say("OpenResty Lua OK")
    }
}

检查并重新加载:

sudo /usr/local/openresty/nginx/sbin/nginx -t
sudo /usr/local/openresty/nginx/sbin/nginx -s reload

访问测试:

curl http://127.0.0.1/lua-test

如果返回:

OpenResty Lua OK

说明OpenResty和Lua运行环境正常。

九、常见问题

1、启动时报80端口被占用怎么办?

执行:

ss -lntp | grep :80

查看占用进程。可以停止原Nginx或Apache,也可以将OpenResty监听端口改为8080后再测试。

2、OpenResty和Nginx可以同时运行吗?

可以,但不能同时监听同一个IP和端口。测试阶段可以让OpenResty监听8080,确认配置无误后再切换到80或443端口。

3、安装后找不到systemctl服务怎么办?

OpenResty可以直接使用主程序启动:

sudo /usr/local/openresty/nginx/sbin/nginx

如果需要通过systemd管理,可以后续单独创建openresty.service服务文件。

4、外部访问不了默认页面怎么办?

先确认本机curl http://127.0.0.1/是否正常。如果本机正常、外部不通,通常是系统防火墙、云安全组或服务器网络规则未放行。

5、OpenResty适合替代原Nginx吗?

可以,但建议先在测试端口验证配置。正式替换前应备份原Nginx配置、站点文件和证书,并逐项迁移反向代理、HTTPS、缓存和访问控制规则。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
Linux安装OpenResty教程
下一篇:

已经没有下一篇了!

相关文章