本文使用的环境是 Ubuntu 17.10,其他发行版对于本文中的操作并没有什么影响
Nginx 安装 (具体版本按需选择)
基础源码包下载
wget "https://nginx.org/download/nginx-1.13.5.tar.gz"
养成 wget
加引号的习惯,可避免很多问题
基础依赖包 zlib & pcre
wget "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.zip"
wget "http://nginx.org/download/zlib-1.2.11.tar.gz"
PCRE 用来支持 rewrite 模块
模块选择(可选)
Fancy Index (基本不需要)
该模块是使用 Nginx 作为文件服务器时美化目录索引用,按兴趣加
git clone https://github.com/aperezdc/ngx-fancyindex.git
待编译时用
LuaJIT (比较重要)
LuaJIT 是 C 写成的 Lua 解释器,速度比 Lua 解释器快十倍左右,JIT 名词解释见维基百科传送门
官方安装方式 传送门
本地先安装 LuaJIT
wget "http://luajit.org/download/LuaJIT-2.0.5.tar.gz"
wget "https://github.com/openresty/lua-nginx-module/archive/v0.10.10.zip" -O lua-nginx-module-0.10.10.zip
先构建 LuaJIT,视频传送门
然后等待 Nginx 构建
构建
实现需要安装 gcc,g++,make,否则无编译器
先配置
./configure \
--with-http_ssl_module \ ## 需要事先安装openssl,否则需要指定ssl源码目录
--with-pcre=../pcre-8.41 \
--with-zlib=../zlib-1.2.11 \
--add-module=../ngx-fancyindex \ ## 可选插件
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/etc/nginx/nginx.conf \ ## 指定配置文件位置,默认为nginx所在目录
--pid-path=/usr/local/nginx/nginx.pid \
--add-module=/data/src/lua-nginx-module-0.10.10 ## lua模块
其中的各种 path 请自己指定
执行以上过程检查是否有错误,有错误请请教 Google 和 StackOverflow
若无错误,即可开始构建
make && make install
构建完成直接使用 nginx
来运行 nginx,如果出现 command not found
,可用 ln -s /path/to/nginx/nginx /sbin/
将 nginx 软链到 sbin 下
验证
curl http://127.0.0.1
出现 200 则安装成功