以第三方openresty提供的模塊:echo-nginx-module 爲例,演示如何給已經安裝好的nginx添加外部模塊

如何給nginx添加外部模塊

以第三方openresty提供的模塊:echo-nginx-module 爲例,演示如何給已經安裝好的nginx添加外部模塊。

前提介紹

測試機的nginx目錄在: /usr/local/nginx

使用ls 可以查看該目錄下的內容如下:

client_body_temp  html  nginx-1.13.9         proxy_temp  scgi_temp
conf              fastcgi_temp       logs  nginx-1.13.9.tar.gz  sbin        uwsgi_temp

下載第三方模塊

進入 /usr/local/nginx,目錄操作。可以使用命令下載:

wget  https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz

解壓+重命名

下載後會保存到一個 v0.61 的目錄,其實是 v0.61.tar.gz,可以使用以下命令解壓:

tar -zxvf v0.61

解壓後會看到一個目錄 echo-nginx-module-0.61 生成了,可以將其重命名一下:

mv echo-nginx-module-0.61 echo-nginx-module

重新編譯+add新模塊

因爲已經安裝好了nginx, 所以只需要重新編譯添加模塊即可,以下是詳細操作步驟。

切換目錄

cd /usr/local/nginx/nginx-1.13.9

使用命令--add-module添加模塊

./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/echo-nginx-module

make生成可執行的二進制文件nginx

make

到此爲止,會在目錄 /usr/local/nginx/nginx-1.13.9/objs 生成一個可執行的二進制文件 nginx

對於已經安裝好的nginx,只需要make即可; make後會在objs目錄生成一個新的nginx可執行文件,替換原來的即可(記得備份一下)

備份

備份原來的可執行nginx文件:

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.back

覆蓋

使用新的覆蓋舊的可執行二進制文件:

cp /usr/local/nginx/nginx-1.13.9/objs/nginx /usr/local/nginx/sbin/nginx

修改配置文件nginx.conf

location / {
    root   html;
    index  index.html index.htm;
    # mime類型改成這個,不然默認的是二進制流;會變成文件下載的方式...
    default_type    text/plain;
    echo "This is echo module:192.168.75.134";
}

啓動測試

重新啓動nginx服務,然後瀏覽器訪問測試,會在瀏覽器顯示:

This is echo module:192.168.75.134

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章