淘先锋技术网

首页 1 2 3 4 5 6 7

如果你是RHEL可以使用下面的方法。否则请参考http://openresty.org/cn/installation.html

RHEL

你可以在你的 RHEL 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。添加仓库,运行下面的命令(对于 RHEL 8 或以上版本,应将下面的 yum 都替换成 dnf):

第一步:
wget https://openresty.org/package/rhel/openresty.repo
sudo mv openresty.repo /etc/yum.repos.d/

第二步:
sudo yum check-update

添加了包仓库之后就可以像下面这样安装软件包,比如 openresty

第三步:
sudo yum install -y openresty

如果你想安装命令行工具 resty,那么可以像下面这样安装 openresty-resty 包:

sudo yum install -y openresty-resty

命令行工具 opmopenresty-opm 包里,而 restydoc 工具在 openresty-doc 包里头。

列出所有 openresty 仓库里头的软件包:

sudo yum --disablerepo="*" --enablerepo="openresty" list available

我们的包仓库中有某些包,比如 perl-Test-Nginxperl-Lemplate,依赖开启一些可选的 RHEL 标准包仓库。比如 在 RHEL 6 和 RHEL 7 上,需要启用 RHEL 官方的 Optional RPM 包仓库。在 RHEL 7 上可以运行这条命令:

sudo subscription-manager repos --enable rhel-7-server-optional-rpms

在 RHEL 6 上则是这样的:

sudo subscription-manager repos --enable rhel-6-server-optional-rpms

而在 RHEL 8 上则需要开启 RHEL 官方的 CodeReady 仓库:

sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

OpenResty RPM 包 页面能看到这些包更多的细节。

请注意在 RHEL 8 上面缺少 perl-Lemplate 这个 RPM 包,这是因为 RHEL 8 相比 RHEL 7 从其标准仓库中移除了 perl-Template-Toolkit 这样的 Perl 模块包。

对于 RHEL 8 及更新版本,我们只需要将上面的 yum 命令都替换成 dnf 即可。

二、使用openresty

准备目录布局

我们首先为实验创建一个单独的目录。您可以使用任意目录。

mkdir work
cd work
mkdir logs/ conf/

请注意,我们还创建了logs/用于记录文件和conf/配置文件的目录。

准备nginx.conf配置文件

创建一个简单的纯文本文件,conf/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_block {
                ngx.say("<p>hello, world</p>")
            }
        }
    }
}

如果您熟悉Nginx的配置,那么您应该会非常熟悉。无论如何,OpenResty只是通过插件模块实现的Nginx的增强版本 。您可以利用Nginx世界中所有现有的东西。

启动Nginx服务器

假设您已将OpenResty安装到/usr/local/openresty(这是默认设置),我们将在环境中提供OpenResty安装的nginx可执行文件:PATH

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

然后,我们以这种方式使用配置文件启动nginx服务器:

nginx -p `pwd`/ -c conf/nginx.conf
或者是
nginx -p $PWD

错误消息将发送到stderr设备或logs/error.log当前工作目录中的默认错误日志文件。

若是我们修改了conf/nginx.conf的内容,想要显示修改之后的信息,那么我们需要这样做:

我们通过向nginx主进程发送 HU````P 信号来重新加载服务器。

kill -HUP `cat logs/nginx.pid`   (注意这不是顿号或者逗号,而是位于电脑键盘左上角处的符号)
主进程的进程 ID 存储在这个 nginx.pid 文件中。

然后,再重新发送http请求

curl http://localhost:8080/

访问我们的HelloWorld Web服务

关闭本机的防火墙

systemctl stop firewalld

我们可以使用curl来访问表示HelloWorld的新Web服务:

curl http://localhost:8080/

如果一切正常,我们应该得到输出

<p>hello, world</p>

您一定可以将自己喜欢的Web浏览器指向该位置http://localhost:8080/