Ubuntu 24.04.2 LTS搭建Openresty
一、环境
ubuntu@ubuntu:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
ubuntu@ubuntu:~$
二、准备
sudo apt-get install libreadline-dev libpcre3-dev libssl-dev perl -y
sudo apt-get install libpcre3-dev libssl-dev perl make build-essential curl
sudo apt install build-essential gcc make
sudo apt install zlib1g zlib1g-dev
三、安装
su - root
./configure --with-pcre-jit
cd ~
wget https://openresty.org/download/openresty-1.27.1.1.tar.gz
tar xzvf openresty-1.27.1.1.tar.gz
cd openresty-1.27.1.1
./configure --with-pcre-jit --with-ipv6
make && make install
四、启动
mkdir ~/work
cd ~/work
mkdir logs/ conf/
Create a simple plain text file named conf/nginx.conf with the following contents in it:
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
default_type text/html;
content_by_lua_block {
ngx.say("<p>hello, world</p>")
}
}
}
}
五、命令
指定配置启动,注意目录位置
# 加载环境变量如果没有配置
export PATH=/usr/local/openresty/bin:$PATH
# 指定配置启动 openresty
openresty -p ./ -c conf/nginx.conf
# 优雅退出
openresty -p . -s stop
openresty -p . -s quit
# 重启 openresty
openresty -p . -s reload
-p 是指定目录
也可以直接运行 openresty 加载默认配置。
六、效果
指定配置效果:

默认配置效果:

至此,搭建完毕。相对还是比较简单的,后续如何使用Lua进行配置,就会复杂很多。有了Lua 加持,可以直接访问redis、mysql 等资源,灵活度会非常的高,这就是使用Openresty的价值。
附录:
自己编译openresty 如何开机自启动
步骤:
创建服务文件:
在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如 openresty.service。
sudo nano /etc/systemd/system/openresty.service
编辑服务文件:
输入以下内容(根据你的 OpenResty 安装路径进行调整):
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
# 指定PID文件的路径,确保与Nginx配置中的路径一致
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
# 指定Nginx可执行文件的路径
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
# 重新加载Nginx配置时使用的命令
ExecReload=/bin/kill -s HUP $MAINPID
# 停止Nginx服务时使用的命令
ExecStop=/bin/kill -s QUIT $MAINPID
# 设置PrivateTmp为true,以确保每个服务有自己的临时空间
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载 systemd:
sudo systemctl daemon-reload
启动并使服务开机自启:
sudo systemctl start openresty.service
sudo systemctl enable openresty.service
检验是否安装成功
执行命令:
mkdir ~/work
cd ~/work
mkdir logs/ conf/
ls
vim conf/nginx.conf
openresty -p `pwd`/ -c conf/nginx.conf
ps -ef|grep nginx
服务器执行命令,看到出现hello,world时,即安装成功。
root:~/work# curl http://localhost:8080/
<p>hello, world</p>
root:~/work#
也可登录浏览器,访问服务器地址,能出现hello, world,即按照成功。
优化配置,添加目录加载配置文件:
在vim nginx.conf 中,最下面添加:
# 添加目录加载
include /usr/local/openresty/nginx/conf.d/*.conf;
include /usr/local/openresty/nginx/sites-enabled/*;
再创建目录
mkdir -p /usr/local/openresty/nginx/conf.d/
mkdir -p /usr/local/openresty/nginx/sites-enabled/
这样,就可以把配置拆分成文件,而不是配置在一个文件中了。
本文来自博客园,作者:刘文江,转载请注明原文链接:https://www.cnblogs.com/liuwenjiang/p/18907182

浙公网安备 33010602011771号