本人的使用的電腦是Mac,操做系統是macOS Mojave。電腦上裝有虛擬機。
虛擬機上安裝Centos7操做系統,在其之上安裝Nginx及Luau類庫,整個過程是在系統安裝完成以後開始記錄。
建議安裝前先拍快照,出現問題能夠恢復linux
若是安裝的Linux可以聯網,而且外部也能正常使用Linux的端口,那麼能夠忽略下面兩部nginx
(1)在Linux上輸入命令git
[root@localhost ~]ip addr #查看ip [root@localhost ~]nmcli connection show
能夠查看當前網卡信息
個人是 ens33github
(2)修改信息shell
[root@localhost ~]vi /etc/sysconfig/network-scripts/ifcfg-ens33
將最後一行ONBOOT=no 修改成 ONBOOT=yes 瀏覽器
(3)重啓網絡服務網絡
[root@localhost ~]# systemctl restart network
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
發現
文件默認是安裝在 /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")'; }
[root@localhost nginx-1.12.1]#./configure
在瀏覽器訪問 虛擬對應的地址 http://xxx.xxx.xxx/hello
顯示以下
到此就成功了