• 欢迎访问露水湾网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,

Ubuntu 平台下OpenResty的安装

大数据库 dewbay 5年前 (2018-05-22) 1180次浏览 已收录 0个评论 扫描二维码

源码包准备

我们首先要在官网下载OpenResty的源码包。官网上会提供很多的版本,各个版本有什么不同也会有说明,我们可以按需选择下载。笔者选择下载的源码包为 ngx_openresty-1.9.3.1.tar.gz。

相关依赖包的安装

首先你要安装OpenResty需要的多个库
请先配置好你的 apt 源,配置源的过程在这就不阐述了,然后执行以下命令安装OpenResty编译或运行时所需要的软件包。

<code class="hljs lasso has-numbering">apt<span class="hljs-attribute">-get</span> install libreadline<span class="hljs-attribute">-dev</span> libncurses5<span class="hljs-attribute">-dev</span> libpcre3<span class="hljs-attribute">-dev</span> <span class="hljs-subst">\</span>
    libssl<span class="hljs-attribute">-dev</span> perl make build<span class="hljs-attribute">-essential</span></code>

如果你只是想测试一下OpenResty,并不想实际使用,那么你也可以不必去配置源和安装这些依赖库,请直接往下看。

OpenResty 的安装

OpenResty在 linux 的部署可以通过 C 程序员非常熟悉的方式进行安装:

<code class="hljs go has-numbering">./configure
<span class="hljs-built_in">make</span> && <span class="hljs-built_in">make</span> install</code>

具体的步骤如下:

(1)将软件包拷贝到 Ubuntu 系统中

首先通过 WinScp 或者 XFTP 等文件传输工具将之前下载的OpenResty包传输到你的Ubuntu系统上,如果你的Ubuntu系统可以直接联网的话,你也可以通过wget https://openresty.org/download/ngx_openresty-1.9.3.1.tar.gz命令直接从官网下载 OpenResty 到当前目录。

(2)解压 openresty 软件包

<code class="hljs avrasm has-numbering">tar xzvf ngx_openresty-<span class="hljs-number">1.9</span><span class="hljs-number">.3</span><span class="hljs-number">.1</span><span class="hljs-preprocessor">.tar</span><span class="hljs-preprocessor">.gz</span></code>

一般来说这个命令不会出错,解压之后你会得到一个名为 ngx_openresty-1.9.3.1 的文件夹,如果解压出错,请尝试重新下载 OpenResty。

(3)配置安装目录及需要激活的组件

现在你可以进入到解压出来的目录下,大致浏览一下目录结构,我们可以看到有一个 configure 文件,它是一个可执行文件,我们可以通过 configure 命令来对 OpenResty 进行一些配置,常见的配置有:
1)OpenResty 安装目录: –prefix,不指定则默认为/usr/local/openresty
2) 激活某些组件: with-xxxx
3)禁用某些组件: without-xxxx
OpenResty 是在 Nginx 的基础之上,集成了大量优秀的第三方模块形成的,在 OpenResty 中,大多数的组件都是默认激活的,只有少数几个组件需要手动指定激活,可以通过下述选项激活这几个组件:

<code class="hljs lasso has-numbering"><span class="hljs-subst">--</span><span class="hljs-keyword">with</span><span class="hljs-attribute">-lua51</span> 
<span class="hljs-subst">--</span><span class="hljs-keyword">with</span><span class="hljs-attribute">-http_drizzle_module</span>
<span class="hljs-subst">--</span><span class="hljs-keyword">with</span><span class="hljs-attribute">-http_postgres_module</span>
<span class="hljs-subst">--</span><span class="hljs-keyword">with</span><span class="hljs-attribute">-http_iconv_module</span></code>

一个完整的配置命令如下:

<code class="hljs brainfuck has-numbering"><span class="hljs-string">.</span><span class="hljs-comment">/configure</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">prefix=/opt/openresty\</span> 
            <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">without</span><span class="hljs-literal">-</span><span class="hljs-comment">http_redis2_module</span> <span class="hljs-comment">\</span>
            <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">with</span><span class="hljs-literal">-</span><span class="hljs-comment">http_postgres_module</span></code>

命令很短,也比较好理解:
1) –prefix=/opt/openresty:将软件安装在/opt/openresty 目录下
2) –without-http_redis2_module:禁用 redis 模块
3) with-http_postgres_module:启用 postgres 数据库模块

上述命令如果不出错的话则会在当前目录下生成一个 makefile 文件,这是为我们后续的make && make install做准备的,该文件指定了 make 命令的执行规则。
如果出现了错误,则在控制台会输出控制信息,即失败的原因,为何出错可以根据失败原因进行具体的分析,我在这里简单总结下可能的情况。
1)缺少了依赖库:绝大多数情况都是因为这个错误导致的,可以查看错误提示中具体说明的缺少哪一个库,然后进行安装即可
2)部分库本身 BUG:这种情况是非常少见的,除非你在一些特别的Ubuntu版本上进行安装,笔者使用的是Ubuntu 14.04.3 LTS,没有发现任何问题,如果出现这类问题,可以尝试更新一下编译器版本或者该库文件版本

前面我们说到,如果只是想测试一下 OpenResty 的话,我们可以不安装依赖库,当然在这里配置时也需要禁用几个模块,防止 configure 命令出错

<code class="hljs brainfuck has-numbering"><span class="hljs-string">.</span><span class="hljs-comment">/configure</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">without</span><span class="hljs-literal">-</span><span class="hljs-comment">http_rewrite_module</span> <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">without</span><span class="hljs-literal">-</span><span class="hljs-comment">http_ssl_module</span>  <span class="hljs-literal">-</span><span class="hljs-literal">-</span><span class="hljs-comment">without</span><span class="hljs-literal">-</span><span class="hljs-comment">http_gzip_module</span></code>

禁用了这几个模块之后,即可顺利生成 makefile 文件,但是仅供测试,少了这几个模块,你就少了很多强大的功能。

(4)执行安装

完成了安装前的配置,生成了对应的 makefile 之后,我们就可以进行真正的安装了,命令非常的简单。

<code class="hljs go has-numbering"><span class="hljs-built_in">make</span> && <span class="hljs-built_in">make</span> install</code>

执行完该命令之后,OpenResty 就安装到了你之前指定的安装目录下了。

测试安装是否成功

如果你在之前的make && make install中没有发现错误的话,一般来说就是安装成功了,但是我们还是进行一个简单的测试以保证我们 OpenResty 确实成功安装了。

如果你使用的是默认的安装目录,则可以执行以下命令启动 OpenResty,如果不是,请改为你指定的路径。

<code class="hljs lua has-numbering">/usr/<span class="hljs-keyword">local</span>/openresty/nginx/sbin/nginx</code>

正确启动的话则没有任何输出,现在 OpenResty 已经成功启动并监听了Ubuntu服务器的 80 端口,你可以打开浏览器,输入你的Ubuntu服务器的 IP,则你可以看到”Welcome to nginx!”字样,这说明你的 OpenResty 服务器已经成功运行了。
你也可以通过直接在 Ubuntu 服务器上输入以下指令来测试 OpenResty 是否成功启动

<code class="hljs nginx has-numbering"><span class="hljs-title">curl</span> <span class="hljs-number">127.0.0.1</span></code>

你会看到一小段 HTML 格式的文本输出。

设置环境变量方便操作

之前的测试案例中,我们需要切换到软件安装的目录下执行相应的命令,那么有没有办法让我们可以直接在任意目录下都可以使用 OpenResty 的命令呢,其实也非常的简单,只需要配置一下环境变量 PATH 即可。
在 linux 终端输入一个命令之后,它会到 PATH 环境变量所指定的各个目录下去寻找这个命令,所以我们要做的就是把 OpenResty 的 sbin 目录,也就是 OpenResty 的可执行文件目录设置到 PATH 环境变量中即可。

在 Ubuntu 中,也许多方式可以设置环境变量,在许多个文件中添加响应的配置行都能达到设置环境变量的目的,我们这里通过设置用户家目录下的.bashrc 文件来实现。

<code class="hljs vala has-numbering">vi ~/.bashrc

<span class="hljs-preprocessor"># 添加下面一行代码即可,笔者一般都添加到文件开头,方便查看</span>
<span class="hljs-preprocessor"># 注意:冒号后面接的是 OpenResty 安装的位置的可执行文件目录</span>
<span class="hljs-preprocessor"># 没有特殊指定安装目录的则是: /usr/local/openresty/nginx/sbin</span>

export PATH=$PATH:/usr/local/openresty/nginx/sbin</code>

添加配置之后不会立即生效,我们可以通过 source 命令来重新加载一下我们的配置文件

<code class="hljs bash has-numbering"><span class="hljs-built_in">source</span> ~/.bashrc</code>

之后我们就可以在任意位置来使用我们的 nginx 命令了

<code class="hljs bash has-numbering"><span class="hljs-built_in">cd</span> ~
nginx <span class="hljs-operator">-s</span> reload</code>

接下来,我们就可以进入到后面的章节HelloWorld学习。


露水湾 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Ubuntu 平台下OpenResty的安装
喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址