1. 首页

VS CODE 轻松调试 Nginx

VS CODE简直是太强大了,不仅仅是前端开发利器,用来调试HotSpot、Nginx也是棒棒的!最关键还免费!

最近刚好在研究Nginx,下面来讲讲如何用VS CODE 调试Nginx。

一:编译运行Nginx

  1. 修改 /auto/cc/conf 文件,将ngx_compile_opt=”-c” 修改为 ngx_compile_opt=”-c -g”
  2. 执行 sudo ./auto/configure –prefix=nginx工程目录 ,如果遇到错误 “the HTTP rewrite module requires the PCRE library”,就执行下brew install pcre
  3. 执行 sudo make
  4. 执行 ./objs/nginx,打开浏览器访问下 127.0.0.1,没问题的话就可以看到Nginx的欢迎界面了。

VS CODE 轻松调试 Nginx

二:调试Master进程

Nginx运行模式分为Master进程和Worker进程,让我们先来调试下Master进程吧

  1. 关掉Nginx的守护进程运行方式,在/conf/nginx.conf 中添加一行:
  2. Js中文网 – 前端进阶资源教程 www.javascriptC.com,typescript 中文文档
  3. 一个帮助开发者成长的社区,你想要的,在这里都能找到

daemon off;

2. 添加VSCODE调试配置

创建并修改launch.json


{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(lldb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/objs/nginx", "args": [], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb" } ] }

3. 启动调试,爽歪歪!

VS CODE 轻松调试 Nginx

三:调试 Worker 进程

  1. 查看 Worker 进程pid

VS CODE 轻松调试 Nginx

2. 编辑 launch.json,添加 Attach配置


{ "name": "(lldb) Attach", "type": "cppdbg", "request": "attach", "program": "${workspaceFolder}/objs/nginx", "processId": "806{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(lldb) Attach", "type": "cppdbg", "request": "attach", "program": "${workspaceFolder}/objs/nginx", "processId": "80636", // 填写 Worker 进程 PID "MIMode": "lldb" }, { "name": "(lldb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/objs/nginx", "args": [], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "lldb" } ] }

3. 切换 debug 模式为 attach

VS CODE 轻松调试 Nginx

4. 开始 debug,在解析 Http 请求处打断点,刷新浏览器,再次爽歪歪!

VS CODE 轻松调试 Nginx

是不是很方便,接下来,就尽情的跟随源码旅行吧!

作者:半栈工程师
链接:https://juejin.im/entry/6844903696417947656

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:VS CODE 轻松调试 Nginx

链接:https://www.javascriptc.com/4215.html

« 为什么 Vue3 的 ref 让很多大佬操碎了心?
LeetCode 045. 跳跃游戏 II»
Flutter 中文教程资源

相关推荐

QR code