Centos7 安裝Nginx整合Lua

前言

本人的使用的電腦是Mac,操做系統是macOS Mojave。電腦上裝有虛擬機。
虛擬機上安裝Centos7操做系統,在其之上安裝Nginx及Luau類庫,整個過程是在系統安裝完成以後開始記錄。
建議安裝前先拍快照,出現問題能夠恢復linux

準備工做

若是安裝的Linux可以聯網,而且外部也能正常使用Linux的端口,那麼能夠忽略下面兩部nginx

1.設置自動獲取ip

(1)在Linux上輸入命令git

[root@localhost ~]ip addr   #查看ip

[root@localhost ~]nmcli connection show

能夠查看當前網卡信息
clipboard.png
個人是 ens33github

(2)修改信息shell

[root@localhost ~]vi /etc/sysconfig/network-scripts/ifcfg-ens33

將最後一行ONBOOT=no 修改成 ONBOOT=yes 瀏覽器

(3)重啓網絡服務網絡

[root@localhost ~]# systemctl restart network

clipboard.png

2.關閉防火牆

systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動

3.準備安裝是發現沒有wget命令,能夠先按照線面安裝若是下面提示沒有wget命令時,能夠執行這一步lua

[root@localhost ~]#yum -y install wget

安裝

1.安裝依賴環境spa

[root@localhost ~]#yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.安裝LuaJIT
我是在/usr/local路徑下建立了 LuaJIT 文件夾操作系統

[root@localhost LuaJIT]#wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
[root@localhost LuaJIT]#tar –xvf LuaJIT-2.0.2.tar.gz
[root@localhost LuaJIT]#cd LuaJIT-2.0.2
[root@localhost LuaJIT-2.0.2]#make install

3.安裝nginx
(1)下載ngx_devel_kit、lua-nginx-module、nginx
我是在/usr/local路徑下建立了 nginx 文件夾

[root@localhost nginx]#wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
[root@localhost nginx]#wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
[root@localhost nginx]#wget http://nginx.org/download/nginx-1.12.1.tar.gz 
#注意下載後的壓縮包沒有文件名稱,可是根據版本號能區分是哪一個文件
[root@localhost nginx]#tar -xvf v0.3.0.tar.gz
[root@localhost nginx]#tar -xvf v0.10.9rc7.tar.gz
[root@localhost nginx]#tar -xvf nginx-1.12.1.tar.gz

(2)編譯Nginx

[root@localhost nginx]# cd nginx-1.12.1
[root@localhost nginx-1.12.1]#./configure --prefix=/usr/local/nginx --add-module=../ngx_devel_kit-0.3.0 --add-module=../lua-nginx-module-0.10.9rc7

(3)安裝

[root@localhost nginx-1.12.1]#make
[root@localhost nginx-1.12.1]#make install

(4)啓動nginx
啓動時會nginx可能會報錯

./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: N

找不到libluajit-5.1.so.2這個文件
解決辦法
1.找到 libluajit-5.1.so.2,libluajit-5.1.so.2.0.2這兩個文件複製到 對應的lib下
64位是 /usr/lib64
32位是 /usr/lib

[root@localhost nginx-1.12.1]#find / -name  libluajit-5.1.so.2

發現

clipboard.png
文件默認是安裝在 /usr/local/lib/libluajit-5.1.so.2下

[root@localhost nginx-1.12.1]#cp /usr/local/lib/libluajit-5.1.so.2 /usr/lib64/
[root@localhost nginx-1.12.1]#cp /usr/local/lib/libluajit-5.1.so.2.0.2 /usr/lib64

在nginx安裝目錄下,修改nginx.conf文件
在Server代碼塊下添加以下代碼

location /hello{
        default_type 'text/plain';
        content_by_lua 'ngx.say("hello,lua")';
    }

clipboard.png

啓動nginx

[root@localhost nginx-1.12.1]#./configure

在瀏覽器訪問 虛擬對應的地址 http://xxx.xxx.xxx/hello
顯示以下

clipboard.png到此就成功了

相關文章
相關標籤/搜索