首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx调试必备

之前总有人说nginx没办法调试,写多个变量,不知道变量值是啥,写多个location不知道走的是哪个location,今天带来三种方式 1 echo echo模块是国人编写的第三方模块,官方nginx...是没有自带的,在openresty中默认自带,它是在nginx程序上扩展了echo输出字符的功能,对于调试真的是太方便了 我们知道,平常处理nginx问题,都是从日志查看问题,但是nginx的日志,记录的内容有限...中集成,在官方nginx中没有集成,需要编译支持,所以我们可以通过编写lua来输出调试 nginx支持lua,需要安装LuaJIT解释器,并重新编译nginx,由于网上很多安装教程,这里只简单说一下,不做详细说明...根据nginx官方提供的njs的对象、方法和属性,见https://nginx.org/en/docs/njs/reference.html 可以很方便的进行调试,比如用error方法将错误写入日志 ?...或通过log方法,将info信息写入日志等,具体方法参见官方文档 有了上述三个方法,对于nginx配置调试,及故障排查得心应手。

4.1K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    双机调试Linux内核

    利用KGDB双机调试内核 1.1. 环境 1.2. 配置内核编译环境 2. 参考 双机调试Linux内核环境配置。...利用KGDB双机调试内核 环境 centos 7 VMware 全程使用root用户 配置内核编译环境 这种方式调试内核需要两台机器,一台用来运行Linux内核,另一台对内核进行调试。...可以开两个Linux系统的虚拟机;也可以在物理机系统是linux上面装虚拟机,然后虚拟机运行一个linux;再就是买开发板来调试内核。以下是在windows上开两个虚拟机的流程描述。...在https://www.kernel.org/ 下载想调试版本的内核代码(可以下载tarball格式)。...(我测试ttyS0不行,改成ttyS1可以了) 参考 http://blog.nsfocus.net/gdb-kgdb-debug-application/ 在VMware中用Kgdb调试linux内核

    4.7K30

    通过Nginx实现前后分离调试

    以前项目较小时,前端的资源文件和后台代码都是放在一块,进行 调试基本上都是启动后台服务就可以进行前端访问。...但随着前端技术的成熟与庞大,更多的项目都有一套完整的开发工具与环境,而前端的项目往往都会有一套比较完整的体系,不可能将其拷贝到后台的模块中进行访问,这样调试起来非常不方便,同时会有很多依赖的环境无法满足...现在可以通过nginx去实现前后端分离时,前端代码对后台的访问。...在没有nginx时,我们可能会将前端代码部署到一个类似于apache的服务器中,通过配置端口访问,比如http://localhost:8080进行访问,而后台代码又要启动,此时不可能使用相同的端口,比如...通过nginx配置: server{ listen 80; server_name localhost; location / { root D:/file/

    89130

    Java扩展Nginx之四:远程调试

    ,当您的代码运行在nginx-clojure模块中的时候,如果能像tomcat那样远程打断点,单步调试,会大幅度提高工作效率 远程断点的效果如下图所示,通过IDEA的Remote JVM Debug功能远程连接到...nginx-clojure的远程调试配置 打开nginx.conf文件,在http的配置中增加以下两行,即可开启nginx-clojure的远程调试: jvm_options "-Xdebug"; jvm_options...8401 如果worker_processes配置的值大于1,例如等于3,此时有3个java进程,每个进程都有一个端口被用于远程调试,这三个端口分别是address=840#{pno}表示远程调试的端口是...,启动nginx 用postman访问/java,确认可以响应成功,证明nginxnginx-clojure是正常的: IDEA上的远程调试操作 用IDEA打开工程,点击下图红框中的按钮: 操作如下图...已经被下载下来,可以更仔细的阅读和研究nginx-clojure了: 至此,nginx-clojure的远程调试功能演示完毕,各位java同僚们,如虎添翼的感觉有没有?

    75210

    使用 gdb 调试多进程程序 —— 以调试 nginx 为例

    这里我们说的多进程程序指的是一个进程使用 Linux 系统调用 fork() 函数产生的子进程,没有相互关联的进程就是普通的 gdb 调试,不必刻意讨论。...当然,您需要重新开启一个 Shell 窗口用于调试,gdb attach 的用法在前面已经介绍过了。 我们这里以调试 nginx 服务为例。...make 命令编译时我们为了让生成的 nginx 带有调试符号信息同时关闭编译器优化,我们设置了 "-g -O0" 选项。...总结起来,我们可以使用这种方法添加各种断点调试 nginx 的功能,慢慢我们就能熟悉 nginx 的各个内部逻辑了。...接下来,我们执行 gdb nginx,然后通过设置参数将配置文件 nginx.conf 传给待调试nginx 进程: Quit anyway?

    2.8K10

    初识Nginx + Linux 中安装Nginx

    目录 1、介绍 2、下载和安装 (Linux环境) 2.1 下载 2.2 安装 3、目录结构 4、命令 5、环境变量配置 ---- 1、介绍 nginx [引擎x]是一个HTTP和反向代理服务器,一个邮件代理服务器和一个通用的...官网:nginx 2、下载和安装 (Linux环境) 2.1 下载 在Nginx的官网的下载页面中(nginx: download),就展示了当前Nginx版本,并提供了下载的连接。...接下来解压Nginx tar -zxvf nginx-1.16.1.tar.gz 进入解压好的文件夹内。 cd nginx-1.16.1 ..../nginx -v 检查配置文件 修改了nginx.conf核心配置文件之后,在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下: ..../nginx -t 启动 ./nginx 启动之后,我们可以通过ps -ef指令来查看nginx的进程是否存在。

    3.6K40

    VScode调试Linux详解

    Linux上通常使用gdb命令行调试,但该方式调试不太直观,且命令行长时间不用,容易忘记,不如GUI直观和容易上手,下面介绍基于GUI的方式调试Linux。...一.Linux调试GUI方案简介 1)    Visual studio 远程调试Linux      在VS2015版本以后Visual studio就支持Linux的编译和调试。...使用熟悉的windows界面开发和调试Linux,极大的提高了开发效率,可以广泛应用的Linux服务器开发和嵌入式Linux开发。 ...2)    基于eclipse 本地调试Linux          因为eclipse是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试Linux 3)  基于QtCreator...本地调试Linux         因为QtCreator是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试 4)    基于eclipse 远程调试Linux

    3.8K30

    linux 启动nginx

    启动操作 nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作 停止操作是通过向nginx进程发送信号来进行的...kill -9 主进程号 另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。...有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下: kill -信号类型'/usr/local/nginx/logs/nginx.pid' 平滑重启 如果更改了配置就要重启...Nginx,要先关闭Nginx再打开?...判断Nginx配置是否正确命令如下: nginx -t -c /usr/nginx/conf/nginx.conf 或者 /usr/nginx/sbin/nginx -t 发布者:全栈程序员栈长,转载请注明出处

    15.9K50
    领券