Nginx开发

代码编译 wget http://nginx.org/download/nginx-1.13.8.tar.gz wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz tar xzvf nginx-1.13.8.tar.gz tar xzvf openssl-1.1.1h.tar.gz pushd nginx-1.13.8 # 启用debug,关闭编译器优化 ./configure --with-debug --with-cc-opt='-O0 -g' --with-http_stub_status_module --with-http_ssl_module --with-openssl=../openssl-1.1.1h --add-module=`pwd`/nginx-hello-world-module vi conf/test.conf make -j 24 && ./objs/nginx -p `pwd` -c conf/test.conf 测试用配置文件,关闭master-worker模式,仅一个进程,方便调试1 # conf/test.conf daemon off; master_process off; events { debug_connection 127.0.0.1; } http { server { listen 8085; location /status { stub_status on; } location /hello { hello_world; } } } vs code 调试配置2,需要先安装gdb { "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/objs/nginx", "args": [ "-p", "${workspaceFolder}", "-c", "conf/test.conf" ], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ] } ] } https://docs.nginx.com/nginx/admin-guide/monitoring/debugging/ ↩︎ ...

June 25, 2023 · notsobad