openResty入门-安装编

本文介绍如何在Ubuntu 16.04环境中安装配置OpenResty,并通过一个简单的HelloWorld示例演示其基本用法。文章涵盖了依赖库安装、官方APT仓库添加、软件包安装及Lua脚本配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:

xinzhiyun@ubuntu:~$ cat /etc/issue
Ubuntu 16.04.2 LTS \n \l

执行以下命令

apt-get install libreadline-dev libncurses5-dev libpcre3-dev \
    libssl-dev perl make build-essential

安装官网地址

导入GPG 密钥

wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
xinzhiyun@ubuntu:~$ wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
sudo: 无法解析主机:ubuntu
[sudo] xinzhiyun 的密码: 
OK

安装 add-apt-repository 命令

sudo apt-get -y install software-properties-common
xinzhiyun@ubuntu:~$ sudo apt-get -y install software-properties-common
sudo: 无法解析主机:ubuntu
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  python3-software-properties
下列软件包将被升级:
  python3-software-properties software-properties-common
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 115 个软件包未被升级。
需要下载 29.8 kB 的归档。
解压缩后会消耗 1,024 B 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 software-properties-common all 0.96.20.7 [9,452 B]
获取:2 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python3-software-properties all 0.96.20.7 [20.3 kB]
已下载 29.8 kB,耗时 0秒 (165 kB/s)               
(正在读取数据库 ... 系统当前共安装有 66305 个文件和目录。)
正准备解包 .../software-properties-common_0.96.20.7_all.deb  ...
正在将 software-properties-common (0.96.20.7) 解包到 (0.96.20.5) 上 ...
正准备解包 .../python3-software-properties_0.96.20.7_all.deb  ...
正在将 python3-software-properties (0.96.20.7) 解包到 (0.96.20.5) 上 ...
正在处理用于 dbus (1.10.6-1ubuntu3.3) 的触发器 ...
正在处理用于 man-db (2.7.5-1) 的触发器 ...
正在设置 python3-software-properties (0.96.20.7) ...
正在设置 software-properties-common (0.96.20.7) ...

添加官方 official APT 仓库

sudo add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main"

更新 APT 索引

    sudo apt-get update

然后就可以像下面这样安装软件包,比如 openresty:

 sudo apt-get install openresty

这个包同时也推荐安装 openresty-opm 和 openresty-restydoc 包,所以后面两个包会缺省安装上。 如果你不想自动关联安装,可以用下面方法关闭自动关联安装:

 sudo apt-get install --no-install-recommends openresty

hello world 后续跟上hello world
Openresty 之Hello World

直接上执行步骤以及命令

xinzhiyun@ubuntu:~$ ls /usr/local/openresty
bin  luajit  lualib  nginx  openssl  pcre  site  zlib
xinzhiyun@ubuntu:~$ mkdir work
xinzhiyun@ubuntu:~$ cd work
xinzhiyun@ubuntu:~/work$ ll
总用量 8
drwxrwxr-x 2 xinzhiyun xinzhiyun 4096 717 21:32 ./
drwxr-xr-x 6 xinzhiyun xinzhiyun 4096 717 21:32 ../
xinzhiyun@ubuntu:~/work$ mkdir logs conf
xinzhiyun@ubuntu:~/work$ ll
总用量 16
drwxrwxr-x 4 xinzhiyun xinzhiyun 4096 717 21:32 ./
drwxr-xr-x 6 xinzhiyun xinzhiyun 4096 717 21:32 ../
drwxrwxr-x 2 xinzhiyun xinzhiyun 4096 717 21:32 conf/
drwxrwxr-x 2 xinzhiyun xinzhiyun 4096 717 21:32 logs/
xinzhiyun@ubuntu:~/work$ cd conf/
xinzhiyun@ubuntu:~/work/conf$ vi nginx.conf
xinzhiyun@ubuntu:~/work/conf$ cat nginx.conf 
worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
    server {
        listen 8080;
        location / {
            default_type text/html;
            content_by_lua '
                ngx.say("<p>hello, world</p>")
            ';
        }
    }
}

执行一下命令,以确保该命令在/usr/local/openresty 这个目录下的nginx在PATH 目录下

PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH

启动nginx
别忘了 是在之前创建的work文件夹目录下

nginx -p `pwd`/ -c conf/nginx.conf

执行完成之后

xinzhiyun@ubuntu:~/work$ nginx -p `pwd`/ -c conf/nginx.conf
xinzhiyun@ubuntu:~/work$ ll
总用量 36
drwxrwxr-x 9 xinzhiyun xinzhiyun 4096 717 21:42 ./
drwxr-xr-x 6 xinzhiyun xinzhiyun 4096 717 21:33 ../
drwx------ 2 xinzhiyun xinzhiyun 4096 717 21:42 client_body_temp/
drwxrwxr-x 2 xinzhiyun xinzhiyun 4096 717 21:33 conf/
drwx------ 2 xinzhiyun xinzhiyun 4096 717 21:42 fastcgi_temp/
drwxrwxr-x 2 xinzhiyun xinzhiyun 4096 717 21:42 logs/
drwx------ 2 xinzhiyun xinzhiyun 4096 717 21:42 proxy_temp/
drwx------ 2 xinzhiyun xinzhiyun 4096 717 21:42 scgi_temp/
drwx------ 2 xinzhiyun xinzhiyun 4096 717 21:42 uwsgi_temp/

browser : http://192.168.1.105:8080
openresty

### 启动 Nginx 服务及相关管理命令 #### 使用 `kill` 命令控制 Nginx 进程 可以通过向 Nginx 主进程发送信号来实现对其的管理。具体命令如下所示: ```bash kill -s signal nginx_pid ``` 其中,`signal` 表示要发送给 Nginx 的信号类型,而 `nginx_pid` 则表示 Nginx 主进程的 PID[^1]。 常见的信号及其作用包括: - `-HUP`:重新加载配置文件并平滑重启工作进程。 - `-QUIT`:优雅地关闭 Nginx。 - `-TERM` 或 `-INT`:强制终止 Nginx。 - `-USR1`:重打开日志文件。 - `-USR2`:升级可执行程序。 - `-WINCH`:减少工作进程的数量到零。 #### 指定配置目录 (`-p`) 和测试配置文件 (`-t`) Nginx 提供了一个选项用于指定自定义路径下的配置文件。如果默认路径不满足需求,则可通过 `-p` 参数设置根目录的位置。例如: ```bash nginx -p /custom/path/ ``` 为了验证当前使用的配置文件是否存在语法错误,在实际应用前可以先运行以下命令进行检测: ```bash nginx -t ``` 此命令会读取现有的配置文件,并报告任何可能存在的问题而不真正影响正在运行的服务实例[^3]。 #### 启动、停止与重启 Nginx 当首次部署或者更新完成后需要激活新的更改时,通常采用下面几种方式之一完成整个过程: **启动** ```bash nginx ``` **停止 (快速停止)** ```bash nginx -s stop ``` **退出 (优雅停止)** 通过发送 HUP 信号让其逐步结束请求处理直到完全停下来为止: ```bash nginx -s quit ``` **重新加载配置** 无需中断现有连接即可使新参数生效的方法就是触发 reload 动作: ```bash nginx -s reload ``` #### 查看 Nginx 状态 利用多种工具可以帮助我们确认 Nginx 是否正常运作以及监听端口状况等方面的信息。 **查看网络端口占用情况** ```bash netstat -nplt | grep nginx lsof -i :80 ``` **查找活动中的 Nginx 进程列表** ```bash ps aux | grep nginx ``` 以上这些技巧对于日常维护来说非常实用,能够帮助管理员迅速定位潜在故障点并采取相应措施加以解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值