OpenResty 环境搭建
实践的前提是搭建环境,本节的几个小节将介绍在几种常见操作平台上 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 进程,如下图: - 在浏览器的地址栏输入 localhost,加载 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
安装在系统中。 按照以下步骤:
- 输入以下命令
yum install readline-devel pcre-devel openssl-devel perl
,一次性安装需要的库。 - 相关库安装成功。安装成功后会有 “Complete!” 字样。
OpenResty 安装
- 在命令行中切换到源码包所在目录。
- 解压源码包,
tar xzvf ngx_openresty-1.9.7.1.tar.gz
。若你下载的源码包版本不一样,将相应的版本号改为你所下载的即可。 - 切换工作目录到
cd ngx_openresty-1.9.7.1
。 - 了解默认激活的组件。OpenResty 官网有组件列表,我们可以参考,列表中大部分组件默认激活,也有部分默认不激活。 默认不激活的组件,我们可以在编译的时激活,后面步骤详说明。
- 配置安装目录及需要激活的组件。使用选项 --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
- 在上一步中,最后没有什么 error 的提示就是最好的。若有错误,最后会显示 具体原因可以看源码包目录下的
build/nginx-VERSION/objs/autoconf.err
文件查看。若没有错误,则会出现如下信息:Type the following commands to build and install: gmake gmake install
- 编译:根据上一步命令提示,输入
gmake
。 - 安装:输入
gmake install
。 - 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。
设置环境变量
为了后面启动 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 安装
- 在命令行中切换到源码包所在目录。
- 解压源码包,
tar xzvf ngx_openresty-1.9.7.1.tar.gz
。若你下载的源码包版本不一样,将相应的版本号改为你所下载的即可。 - 切换工作目录到
cd ngx_openresty-1.9.7.1
。 - 了解默认激活的组件。OpenResty 官网有组件列表,我们可以参考,列表中大部分组件默认激活,也有部分默认不激活。 默认不激活的组件,我们可以在编译的时激活,后面步骤详说明。
- 配置安装目录及需要激活的组件。使用选项 --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
- 在上一步中,最后没有什么 error 的提示就是最好的。若有错误,最后会显示 具体原因可以看源码包目录下的
build/nginx-VERSION/objs/autoconf.er
r文件查看。若没有错误,则会出现如下信息:Type the following commands to build and install: gmake gmake install
- 编译:根据上一步命令提示,输入
gmake
。 - 安装:输入
gmake install
。 - 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。
设置环境变量
为了后面启动 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 安装
- 在命令行中切换到源码包所在目录。
- 输入命令
tar xzvf ngx_openresty-1.9.7.1.tar.gz
,按回车键解压源码包。若你下载的源码包版本不一样, 将相应的版本号改为你所下载的即可,或者直接拷贝源码包的名字到命令中。 此时当前目录下会出现一个ngx_openresty-1.9.7.1
文件夹。 - 在命令行中切换工作目录到ngx_openresty-1.9.7.1。输入命令cd ngx_openresty-1.9.7.1。
- 配置安装目录及需要激活的组件。使用选项 --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"
- 在上一步中,最后没有什么error的提示就是最好的。若有错误,最后会显示error字样, 具体原因可以看源码包目录下的 build/nginx-VERSION/objs/autoconf.err 文件查看。 若没有错误,则会出现如下信息,提示下一步操作:
Type the following commands to build and install: make sudo make install
- 编译。根据上一步命令提示,输入
make
。 - 安装。输入
sudo make install
,这里可能需要输入你的管理员密码。 - 上面的步骤顺利完成之后,安装已经完成。可以在你指定的安装目录下看到一些相关目录及文件。
设置环境变量
为了后面启动OpenResty
的命令简单一些,不用在OpenResty
的安装目录下进行启动,我们通过设置环境变量来简化操作。 将OpenResty
目录下的 nginx/sbin 目录添加到 PATH 中。
接下来,我们就可以进入到后面的章节 Hello World 学习。
更多建议: