阅读(516) (0)

OpenResty 环境搭建

2021-08-05 11:55:28 更新

实践的前提是搭建环境,本节的几个小节将介绍在几种常见操作平台上 OpenResty 的安装。

为了降低用户安装门槛,对于不同系统安装,部分章节存在比较大的重复内容。读者只需要选择自己需要的平台并尝试安装即可。

Windows 平台安装

1、下载 Windows 版的 OpenResty 压缩包,这里我下载的是 openresty_for_windows_1.7.10.2001_64bit ,你也可以选择 32bit 的版本。如果你对源码感兴趣,下面是源码地址 https://github.com/LomoX-Offical/nginx-openresty-windows

2、解压到要安装的目录,这里我选择D盘根目录,你可以根据自己的喜好选择位置。

3、进入到 openresty_for_windows_1.7.10.2001_64bit 目录,双击执行​nginx.exe​或者使用命令​start nginx​ 启动 nginx,如果没有错误现在 nginx 已经开始运行了。

4、验证 nginx 是否成功启动:

  • 使用​​ tasklist /fi "imagename eq nginx.exe"​​ 命令查看 nginx 进程,其中一个是 master 进程,另一个是 worker 进程,如下图: nginx进程
  • 在浏览器的地址栏输入 localhost,加载 nginx 的欢迎页面。成功加载说明 nginx 正在运行。如下图: nginx的欢迎页面

另外当 nginx 成功启动后,master 进程的 pid 存放在 ​logs\nginx.pid​ 文件中。

PS:OpenResty 当前也发布了 windows 版本,两个版本编译方式还是有区别的,这里更推荐这个版本。

CentOS 平台安装

从包管理安装

OpenResty 现在提供了 CentOS 上的 官方包。 你只需运行下面的命令:

sudo yum-config-manager --add-repo https://openresty.org/yum/cn/centos/OpenResty.repo
sudo yum install openresty

如果一切顺利,OpenResty 应该已经安装好了。 接下来,我们就可以进入到后面的章节 HelloWorld 学习。

如果你想了解更多 OpenResty 上的细节,且不介意弄脏双手;抑或有自定义 OpenResty 安装的需求,可以往下看从源码安装的方式。

源码包准备

我们首先要在官网下载 OpenResty 的源码包。官网上会提供很多的版本,各个版本有什么不同也会有说明,我们可以按需选择下载。 笔者选择下载的源码包为 ​ngx_openresty-1.9.7.1.tar.gz​(请大家跟进使用最新版本,这里只是个例子)。

依赖库安装

将这些相关的库​​perl 5.6.1+​,​libreadline​, ​libpcre​, ​libssl​​安装在系统中。 按照以下步骤:

  1. 输入以下命令​​yum install readline-devel pcre-devel openssl-devel perl​​,一次性安装需要的库。
  2. 相关库安装成功。安装成功后会有 “Complete!” 字样。

OpenResty 安装

  1. 在命令行中切换到源码包所在目录。
  2. 解压源码包,​​tar xzvf ngx_openresty-1.9.7.1.tar.gz​​。若你下载的源码包版本不一样,将相应的版本号改为你所下载的即可。
  3. 切换工作目录到 ​​cd ngx_openresty-1.9.7.1​​。
  4. 了解默认激活的组件。OpenResty 官网有组件列表,我们可以参考,列表中大部分组件默认激活,也有部分默认不激活。 默认不激活的组件,我们可以在编译的时激活,后面步骤详说明。
  5. 配置安装目录及需要激活的组件。使用选项 --prefix=install_path,指定安装目录(默认为/usr/local/openresty)。

    使用选项 --with-Components 激活组件,--without 则是禁止组件。 你可以根据自己实际需要选择 with 或 without。如下命令,OpenResty 将配置安装在 /opt/openresty 目录下(注意使用 root 用户),并激活​luajit​、​http_iconv_module​ 并禁止​ http_redis2_module ​组件。

     # ./configure --prefix=/opt/openresty\ 
                   --with-luajit\ 
                   --without-http_redis2_module \ 
                   --with-http_iconv_module
    
                
  6. 在上一步中,最后没有什么 error 的提示就是最好的。若有错误,最后会显示 具体原因可以看源码包目录下的 ​build/nginx-VERSION/objs/autoconf.err​文件查看。若没有错误,则会出现如下信息:
     Type the following commands to build and install: 
            gmake 
            gmake install
  7. 编译:根据上一步命令提示,输入​​gmake​​。
  8. 安装:输入​gmake install​。
  9. 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。

设置环境变量

为了后面启动 OpenResty 的命令简单一些,不用在 OpenResty 的安装目录下进行启动,我们设置环境变量来简化操作。 将 nginx 目录添加到 PATH 中。打开文件 /etc/profile, 在文件末尾加入​​export PATH=$PATH:/opt/openresty/nginx/sbin​​,若你的安装目录不一样,则做相应修改。 注意:这一步操作需要重新加载环境变量才会生效,可通过命令​​source /etc/profile​​或者重启服务器等方式实现。

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

Ubuntu 平台安装

源码包准备

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

相关依赖包的安装

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

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

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

OpenResty 安装

  1. 在命令行中切换到源码包所在目录。
  2. 解压源码包,​​tar xzvf ngx_openresty-1.9.7.1.tar.gz​​。若你下载的源码包版本不一样,将相应的版本号改为你所下载的即可。
  3. 切换工作目录到​​ cd ngx_openresty-1.9.7.1​​。
  4. 了解默认激活的组件。OpenResty 官网有组件列表,我们可以参考,列表中大部分组件默认激活,也有部分默认不激活。 默认不激活的组件,我们可以在编译的时激活,后面步骤详说明。
  5. 配置安装目录及需要激活的组件。使用选项 --prefix=install_path,指定安装目录(默认为/usr/local/openresty)。

    使用选项 --with-Components 激活组件,--without 则是禁止组件。 你可以根据自己实际需要选择 with 或 without。如下命令,OpenResty 将配置安装在 /opt/openresty 目录下(注意使用 root 用户),并激活​luajit​、​http_iconv_module ​并禁止 ​http_redis2_module ​组件。 

    # ./configure --prefix=/opt/openresty\ 
                  --with-luajit\ 
                  --without-http_redis2_module \ 
                  --with-http_iconv_module
    
                
  6. 在上一步中,最后没有什么 error 的提示就是最好的。若有错误,最后会显示 具体原因可以看源码包目录下的​ build/nginx-VERSION/objs/autoconf.er​r文件查看。若没有错误,则会出现如下信息: 
    Type the following commands to build and install: 
            gmake 
            gmake install
  7. 编译:根据上一步命令提示,输入​​gmake​​。
  8. 安装:输入​gmake install​。
  9. 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。

设置环境变量

为了后面启动 OpenResty 的命令简单一些,不用在 OpenResty 的安装目录下进行启动,我们设置环境变量来简化操作。 将 nginx 目录添加到 PATH 中。打开文件 /etc/profile, 在文件末尾加入​​export PATH=$PATH:/opt/openresty/nginx/sbin​​,若你的安装目录不一样,则做相应修改。 注意:这一步操作需要重新加载环境变量才会生效,可通过命令​source /etc/profile​或者重启服务器等方式实现。

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

Mac OS X 平台安装

从包管理安装

通过 Homebrew,OpenResty 提供了 OSX 上的 官方包。 你只需运行下面的命令:

brew install openresty/brew/openresty

如果你之前是从 homebrew/nginx 安装的 OpenResty,请先执行:

brew untap homebrew/nginx

如果一切顺利,OpenResty 应该已经安装好了。 接下来,我们就可以进入到后面的章节 HelloWorld 学习。

如果你想了解更多 OpenResty 上的细节,且不介意弄脏双手;抑或有自定义 OpenResty 安装的需求,可以往下看从源码安装的方式。

源码包准备

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

相关库的安装

将这些相关库安装到系统中,推荐如 Homebrew 这类包管理方式完成包管理:

$ brew update
$ brew install pcre openssl

OpenResty 安装

  1. 在命令行中切换到源码包所在目录。
  2. 输入命令​​tar xzvf ngx_openresty-1.9.7.1.tar.gz​​,按回车键解压源码包。若你下载的源码包版本不一样, 将相应的版本号改为你所下载的即可,或者直接拷贝源码包的名字到命令中。 此时当前目录下会出现一个​​ngx_openresty-1.9.7.1​​文件夹。
  3. 在命令行中切换工作目录到​ngx_openresty-1.9.7.1​。输入命令​cd ngx_openresty-1.9.7.1​。
  4. 配置安装目录及需要激活的组件。使用选项​​ --prefix=install_path ​​,指定其安装目录(默认为/usr/local/openresty)。 使用选项 --with-Components 激活组件, --without 则是禁止组件,你可以根据自己实际需要选择 with 及 without 。 输入如下命令,OpenResty 将配置安装在 /opt/openresty 目录下(注意使用root用户),激活 LuaJIT、HTTP_iconv_module 并禁止 http_redis2_module 组件。 
    ./configure --prefix=/opt/openresty\ 
                --with-cc-opt="-I/usr/local/include"\ 
                --with-luajit\ 
                --without-http_redis2_module \ 
                --with-ld-opt="-L/usr/local/lib"
  5. 在上一步中,最后没有什么error的提示就是最好的。若有错误,最后会显示error字样, 具体原因可以看源码包目录下的 build/nginx-VERSION/objs/autoconf.err 文件查看。 若没有错误,则会出现如下信息,提示下一步操作: 
    Type the following commands to build and install: 
    make sudo 
    make install
  6. 编译。根据上一步命令提示,输入​​make​​。
  7. 安装。输入​​sudo make install​​,这里可能需要输入你的管理员密码。
  8. 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。

设置环境变量

为了后面启动​​OpenResty​​的命令简单一些,不用在​​OpenResty​​的安装目录下进行启动,我们通过设置环境变量来简化操作。 将​​OpenResty​​目录下的  nginx/sbin​​​​ 目录添加到 PATH 中。

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