1、纯Nginx安装
Nginx 源码包(tar包)下载,地址:http://nginx.org/en/download.html
本文下载的是稳定版:nginx-1.16.0.tar.gz
安装步骤:
- 将nginx-1.16.0.tar.gz上传到/home目录下(可自定义目录)
- 执行 tar -zxvf nginx-1.16.0.tar.gz 进行解压,完成后会生成/home/nginx-1.16.0
- cd /home/nginx-1.16.0 ,执行如下命令安装:
./configure --prefix=/home/test/nginx --conf-path=/home/test/nginx/conf/nginx.conf
make && make install
相关参数说明:
–prefix:设置nginx的存放目录,默认目录为/usr/local/nginx
–conf-path:设置配置文件路径,默认为/usr/local/nginx/conf/nginx.conf,也可以在nginx启动时通过参数-c指定文件路径
入门nginx时,一般上述两个配置足够了,其他配置可参考官网说明:http://nginx.org/en/docs/configure.html
- 检查nginx是否安装成功
/home/test/nginx/sbin/nginx -v //可检查nginx版本号
/home/test/nginx/sbin/nginx -t //可检查nginx配置文件是否ok
/home/test/nginx/sbin/nginx //可启动nginx
ps -ef | grep nginx //可查看nginx进程
/home/test/nginx/sbin/nginx -s stop //可停止nginx
2、Nginx含lua模块安装
安装一个支持lua的nginx,需要有如下依赖包:
luajit、ngx_devel_kit、lua-nginx-module、nginx
相关官网如下:
luajit:http://luajit.org/download.html
ngx_devel_kit:https://github.com/simplresty/ngx_devel_kit
lua-nginx-module:https://github.com/openresty/lua-nginx-module
nginx:http://nginx.org/en/download.html
可能存在的问题:自己去手动下载这四个包安装,有可能会存在版本不匹配问题,安装成功后,nginx启动也会提示缺少相关依赖。
解决方法如下:
将nginx、lua结合应用最好的开源项目是:openresty,官网:https://github.com/openresty/openresty
学者可直接去下载openresty进行安装,安装成功后,可直接拥有含lua模块的nginx,不过这样nginx也会集成一些openresty的其他模块。
若只想给nginx集成nginx-lua模块,可以从openresty的源码包中,取出上述luajit、ngx_devel_kit、lua-nginx-module和nginx等4个依赖用于安装,这样就避免了版本不匹配问题。
本文下载的版本是:openresty-1.13.6.2.tar.gz
安装步骤:
- 将 openresty-1.13.6.2.tar.gz 上传到 /home目录下(可自定义目录)
- 执行 tar -zxvf openresty-1.13.6.2.tar.gz 进行解压,完成后会生成/home/openresty-1.13.6.2
- 在 /home/openresty-1.13.6.2/bundle 中,可以发现上述四个依赖的包,分别是:LuaJIT-2.1-20180420、nginx-1.13.6、ngx_devel_kit-0.3.0 和 ngx_lua-0.10.13
- ngx_devel_kit 和 ngx_lua不需要安装,直接将 ngx_devel_kit-0.3.0 和 ngx_lua-0.10.13移动到 /usr/local/src 目录下
- LuaJIT 需要安装:
cd /home/openresty-1.13.6.2/bundle/LuaJIT-2.1-20180420
make PREFIX=/usr/local/LuaJIT
make install PREFIX=/usr/local/LuaJIT
- 环境变量配置:
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1
将上述两个命令追加写入 /etc/profile 文件中,然后执行:source /etc/profile,使上述环境变量配置全局生效。
- nginx安装:
cd /home/openresty-1.13.6.2/bundle/nginx-1.13.6
./configure --prefix=/home/nginx --conf-path=/home/nginx/conf/nginx.conf --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/src/ngx_devel_kit-0.3.0 --add-module=/usr/local/src/ngx_lua-0.10.13
make && make install
- 检查nginx(含lua)是否安装成功
(1)修改nginx.conf,编辑 location / 后保存,如下:
location / {
#root html;
#index index.html index.htm;
content_by_lua '
ngx.say("hello lua...");
';
}
(2)/home/test/nginx/sbin/nginx -t //可检查nginx配置文件是否ok
(3)/home/test/nginx/sbin/nginx //可启动nginx
(4)curl -i "http://ip:80/xxx",可看到响应为:hello lua...(nginx默认监听端口号为80)
/* 点滴积累,我的一小步 */