1、安装环境、版本说明:
操作系统: Centos 6.5 X86_64
openresty 版本: openresty-1.13.6.1.tar.gz
2、安装 openresty(nginx) 需要安装的额外包
我在装的时候报错,缺少了以下的包,执行 yum 安装命令即可.
安装 nginx 报错:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
解决方案
yum -y install pcre-devel
./configure: error: SSL modules require the OpenSSL library.
解决方案:
yum -y install openssl openssl-devel
3、下载安装包(根据自己操作系统下载相应的即可)
下载地址:http://openresty.org/en/download.html
4、上传到 linux 服务器,解压安装
1). 上传使用 lrzsz 组件,没有的话,可以使用 yum 命令安装
yum install lrzsz
文件上传路径 /opt/softwares
2). 解压:tar -zxvf openresty-1.13.6.1.tar.gz
3). 安装:
cd openresty-1.13.6.1
./configure -j2 --prefix=/opt/modules/openresty-1.13.6.1
make -j2 make install
4). 配置环境变量
配置文件路径 : ~/.bash_profile
#for openresty
export OPENRESTY_HOME=/opt/modules/openresty-1.13.6.1
export PATH=$PATH:$OPENRESTY_HOME/bin
5). 验证配置
[bamboo@hadoop-senior bin]$ openresty -V
nginx version: openresty/1.13.6.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/opt/modules/openresty-1.13.6.1/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.61 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.07 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.11 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.18 --add-module=../redis2-nginx-module-0.14 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.08 --add-module=../ngx_stream_lua-0.0.3 --with-ld-opt=-Wl,-rpath,/opt/modules/openresty-1.13.6.1/luajit/lib --with-stream --with-stream_ssl_module --with-http_ssl_module
可以看到已经配置成功,现在可以在任何路径下敲 openresty 即可启动 openresty.
注意:
这里说下为什么是 openresty 命令,其实这个命令还是 nginx 命令,只是给 openresty 做了一个软链接.
如果安装的时候你留意一下他的输出的时候,你可以会看到上面图中的说明,ln -s 他最终指向的是 openresty 目录下的 nginx/sbin/nginx,所以你就可以理解了吧。
6). 开放 1024 以下端口
其实你输入 openresty 命令的时候,是启动不成功的,因为 nginx 里的配置默认是开放 80 端口,而 80 属于 1024以下的端口,有特殊的权限,所以直接用非 root 用户是启动不成功的,如下图所示:
[bamboo@hadoop-senior bin]$ openresty
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
这个时候需要做一点其他的配置即可:
[bamboo@hadoop-senior sbin]$ pwd
/opt/modules/openresty-1.13.6.1/nginx/sbin [bamboo@hadoop-senior sbin]$ ls
nginx [bamboo@hadoop-senior sbin]$ sudo chown root:root nginx [bamboo@hadoop-senior sbin]$ sudo chmod 4755 nginx [bamboo@hadoop-senior sbin]$ openresty [bamboo@hadoop-senior sbin]$ ps -ef|grep openresty
root 31314 1 0 18:09 ? 00:00:00 nginx: master process openresty
bamboo 31319 13584 0 18:09 pts/1 00:00:00 grep openresty
执行了 chown root:root nginx 和 chmod 4755 nginx ,然后直接敲 openresty 命令就可以直接运行 openresty 了,我们查看进程也可以看到 openresty 已经启动了.
7).curl localhost 的时候报 403
找到 nginx.conf 然后修改如下内容
user nobody 改为user root
重启发现可以了。
好了,openresty 的安装就到这里了。