Nginx安裝Lua
1.安裝Lua(兩個(gè)二選一)
yum install readline-devel (CentOS)
sudo apt-get install libreadline-dev (Ubuntu)
sudo apt-get install libncurses5-dev (Ubuntu)
wget -O LuaJIT-2.0.4.tar.gz http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar -zxvf LuaJIT-2.0.4.tar.gz
make && make install
wget -O lua-5.1.5.tar.gz http://www.lua.org/ftp/lua-5.1.5.tar.gz
tar -zxvf lua-5.1.5.tar.gz
make linux test
檢查libluajit-5.1.so.2.0.4庫是否存在
ls /usr/local/lib
2.準(zhǔn)備nginx插件
wget -O ngx_devel_kit_v0.3.0.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -zxvf ngx_devel_kit_v0.3.0.tar.gz
wget -O lua-nginx-module.zip https://github.com/openresty/lua-nginx-module/archive/master.zip
unzip lua-nginx-module.zip
git clone https://github.com/zebrafishlabs/nginx-statsd.git
3.安裝nginx
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --prefix=/data/beyond/nginx \
--pid-path=/data/logs/nginx/nginx.pid \
--lock-path=/data/beyond/nginx/nginx.lock \
--error-log-path=/data/logs/nginx/error.log \
--http-log-path=/data/logs/nginx/access.log \
--http-client-body-temp-path=/data/temps/nginx/client_body_temp \
--http-proxy-temp-path=/data/temps/nginx/proxy_temp \
--http-fastcgi-temp-path=/data/temps/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/data/temps/nginx/uwsgi_temp \
--http-scgi-temp-path=/data/temps/nginx/scgi_temp \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-ld-opt="-Wl,-rpath,/usr/local/lib" \
--add-module=/data/software/ngx_devel_kit-0.3.0 \
--add-module=/data/software/lua-nginx-module-master \
--add-module=/data/software/nginx-statsd \
--with-pcre=/data/software/pcre-8.35
make -j2
make install
注意: 安裝的 openssl 版本若是 1.0.1—1.0.1f / 1.0.2 Beta1(可通過 openssl version 查看),則需重新手動(dòng)安裝,否則會(huì)有心血漏洞的隱患??蓞⒄毡疚南路降牟僮鞑襟E編譯安裝。
注:
- 若 openssl 的版本 >= 1.1.0,nginx lua module 編譯時(shí)會(huì)報(bào)錯(cuò),需要重新安裝 openssl,安裝過程如下:
1.安裝 openssl
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
tar -zxvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config --prefix=/usr/local/openssl-1.0.2k -fPIC shared
make && make install
2.若已經(jīng)安裝了自帶的 openssl,可通過 ldd $(which nginx) (這里的 $(which nginx) 是指 nginx 可執(zhí)行文件的位置)查看 nginx 所依賴的 ssl 的庫文件位置(一般是在 /lib64/ 目錄下的軟連接),備份好軟連接,然后將其指向新安裝的位置
ldd $(which nginx)
libssl.so.1.0.0 => /lib64/libssl.so.10
libcrypto.so.1.0.0 => /lib64/libcrypto.so.10
mv /lib64/libssl.so.10 /lib64/libssl.so.10_old
mv /lib64/libcrypto.so.10 /lib64/libcrypto.so.10_old
ln -sv /usr/local/openssl-1.0.2k/lib/libssl.so.1.0.0 /lib64/libssl.so.10文章來源:http://www.zghlxwxcb.cn/news/detail-834342.html
ln -sv /usr/local/openssl-1.0.2k/lib/libcrypto.so /lib64/libcrypto.so.10文章來源地址http://www.zghlxwxcb.cn/news/detail-834342.html
3.進(jìn)入 nginx 源碼目錄,修改 auto/lib/openssl/conf 文件
把
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
修改成
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
4.make clean 之后,重新 configure,但選項(xiàng)中添加一項(xiàng) --with-openssl=/usr/local/openssl-1.0.2k/,然后重新 make && make install
到了這里,關(guān)于Nginx安裝Lua的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!