您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Nginx如何編譯連接,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
/auto/configure(獲取configure的配置,生成Makefile)
objs/Makefile(由第一步生成)
make(*.o生成,連接成nginx)
針對http geo模塊連接過程進行示范
path:auto/configure
. auto/options ...
path: auto/option
path: auto/modules
某個配置是否開啟
--without-stream_geo_module disable ngx_stream_geo_module --with-debug enable debug logging
HTTP_GEO變量被設置為YES, geo模塊開啟.
if [ $HTTP_GEO = YES ]; then have=NGX_HTTP_X_FORWARDED_FOR . auto/have ngx_module_name=ngx_http_geo_module ngx_module_incs= ngx_module_deps= ngx_module_srcs=src/http/modules/ngx_http_geo_module.c ngx_module_libs= ngx_module_link=$HTTP_GEO . auto/module fi
extern 聲明目標模塊(geo, 自定義模塊)
ngx_modules: 注冊模塊
ngx_module_names: 定義模塊名
編譯目標.o
把目標.o連接到nginx
eg:ngx_http_geo_module.o模塊的生成
objs/src/http/modules/ngx_http_geo_module.o: $(CORE_DEPS) $(HTTP_DEPS) \ src/http/modules/ngx_http_geo_module.c $(CC) -c $(CFLAGS) $(CORE_INCS) $(HTTP_INCS) \ -o objs/src/http/modules/ngx_http_geo_module.o \ src/http/modules/ngx_http_geo_module.c
ngx_http_geo_module
ngx_http_mytest_module(自定義模塊)
? nginx git:(hyh_test) ? nm objs/nginx | grep geo_mod 00000001000a5420 D _ngx_http_geo_module 00000001000bdf68 b _ngx_http_geo_module_ctx ? nginx git:(hyh_test) ? ? nginx git:(hyh_test) ? nm objs/nginx | grep mytest 0000000100071860 t _ngx_http_mytest_block 00000001000a5500 d _ngx_http_mytest_commands 00000001000a5570 D _ngx_http_mytest_module 00000001000bdfb8 b _ngx_http_mytest_module_ctx ? nginx git:(hyh_test) ?
關于“Nginx如何編譯連接”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。