《深入剖析Nginx》——1.6 编译与执行

1.6 编译与执行

Nginx的编译安装很简单,使用Linux下通用的三板斧即可:./configure、make、make install。当然,这样做的话,那么一切都是使用的默认配置,如果要做修改,则必须在执行configure时指定,比如对Nginx加上调试功能。

[root@localhost nginx-1.2.0]# ./configure --with-debug

修改默认安装路径。

[root@localhost nginx-1.2.0]# ./configure --prefix=/usr/gqk/

所有这些配置选项可以通过命令查看。

[root@localhost nginx-1.2.0]# ./configure –help

在默认情况下,Nginx被安装在/usr/local/nginx/目录下,而其他目录也大都以此为父目录,比如Web根目录为/usr/local/nginx/html/ ,日志记录在文件/usr/local/nginx/logs/access.log和/usr/local/nginx/logs/error.log内。

编译好后的Nginx,执行它很简单,一般我们只需指定配置文件即可。

[root@localhost ~]# /home/gqk/nginx-1.2.0/objs/nginx -c /usr/local/nginx/conf/ nginx.conf.test

如果不指定配置文件,那么默认就是安装目录下的nginx.conf 文件,比如:/usr/local/nginx/conf/nginx.conf。通过ps命令可以看到Nginx是否已正常执行。

[root@localhost ~]# ps auxf | grep nginx | grep -v grep
root   3949 0.0 0.1 5216 572  ? Ss Oct05 0:00 nginx: master process / home/gqk/nginx-1.2.0/objs/nginx -c /usr/local/nginx/conf/nginx.conf.test
nobody 3950 0.0 0.3 5404 1236 ? T  Oct05 0:00  \_ nginx: worker process

查看Nginx对应的监听套接口。

[root@localhost ~]# netstat -natp | grep nginx
tcp  0  0 0.0.0.0:80  0.0.0.0:*  LISTEN  3949/nginx
时间: 2024-09-25 15:16:15

《深入剖析Nginx》——1.6 编译与执行的相关文章

《深入剖析Nginx》一1.6 编译与执行

1.6 编译与执行 深入剖析Nginx Nginx的编译安装很简单,使用Linux下通用的三板斧即可:./configure.make.make install.当然,这样做的话,那么一切都是使用的默认配置,如果要做修改,则必须在执行configure时指定,比如对Nginx加上调试功能. [root@localhost nginx-1.2.0]# ./configure --with-debug 修改默认安装路径. [root@localhost nginx-1.2.0]# ./configu

《深入剖析Nginx》一2.4 获得Nginx程序完整执行流程

2.4 获得Nginx程序完整执行流程 深入剖析Nginx 利用strace命令能帮助我们获取到Nginx在运行过程中所发起的所有系统调用,但是不能看到Nginx内部各个函数的调用情况.利用gdb调试Nginx能让我们很清晰地获得Nginx每一步的执行流程,但是单步调试毕竟是非常麻烦的,有没有更为方便的方法一次性获得Nginx程序执行的整个流程呢?答案是肯定的,而且方法还非常多1.虽然相比直接使用某些强大工具(如System Tap2)而言,下面要介绍的方法比较笨,但它的确可行,而且从这个过程中

《深入剖析Nginx》一1.3 源码目录结构

1.3 源码目录结构 深入剖析Nginx 将Nginx源码包解压后,目录文件如下所示. [root@localhost nginx-1.2.0]# ls -F auto/ CHANGES CHANGES.ru conf/ configure* contrib/ html/ LICENSE man/ README src/ 其中 auto/:包含了很多会在执行configure进行编译配置时调用的检测代码. CHANGES:Nginx的版本更新细节记录.英文版. CHANGES.ru:Nginx的

《深入剖析Nginx》一2.1 利用gdb调试

2.1 利用gdb调试 深入剖析Nginx gdb是Linux下调试程序的常用工具,任何Linux开发工程师初学程序调试时第一个接触到的工具应该就是gdb.关于gdb本身的详细用法,我们不多详述,读者可以参考gdb官网手册1,而在这里,我们将重点介绍一些与Nginx相关的注意点与调试技巧. 2.1.1 绑定Nginx到gdb 利用gdb调式Nginx,首先得在生成Nginx程序时把-g编译选项打开.当然,这并不是说不打开-g选项就无法用gdb调试它,只是会因为缺少相应的符号信息导致调试不便,而此

《深入剖析Nginx》一2.6 特殊应用逻辑的调试

2.6 特殊应用逻辑的调试 深入剖析Nginx前面所讲的调试方法都是针对Nginx本身很容易跑到的逻辑,而对于某些只有在特定情况下才会被执行到的代码,又该怎样去调试呢?举个例子,我们知道Nginx里有大量的超时处理,比如,如果读取客户端请求头部数据超时,Nginx就将执行对应的超时处理函数,假设我想通过单步执行的方式来了解这部分相关逻辑,无疑就得让Nginx的执行逻辑走到这条路径上来.由于此时影响Nginx行为的决定因素是客户端所发送的请求头部数据,我们就必须在客户端做动作来构造出这种场景.一般

《深入剖析Nginx》一导读

前 言 深入剖析Nginx慕名对Nginx源码进行学习与研究是早在2008年的事情.当时正在为职业规划与未来发展困惑不已,一筹莫展之际不知从哪里得知高性能服务器是一个很有"前途"的努力方向,几经搜索又机缘偶合地得识Lighttpd与Nginx.在逐步了解和熟悉它们的源码后,我开始感到自己的无知与浅薄,发现原来代码也可以写得如此优雅. 我已编著过一本<Lighttpd源码分析>.先解析Lighttpd源码并没有什么特别的原因,只是因为在当时Lighttpd比Nginx要火,应

《深入剖析Nginx》一2.2 利用日志信息跟踪Nginx

2.2 利用日志信息跟踪Nginx 深入剖析Nginx 优秀的程序都会带有自己的日志输出接口,并且一般还会给出不同等级的输出级别,以便于重次信息的过滤,比如 Linux 内核的日志输出标准接口为 printk,并且给出了KERN_EMERG.KERN_ALERT.KERN_DEBUG等这样的输出等级.Nginx 与此类似,下面具体来看. 为了获取最丰富的日志信息,我们在进行configure配置时,需要把--with-debug选项加上,这样能生成一个名为NGX_DEBUG的宏,而在Nginx源

深入剖析ASP.NET的编译原理之二:预编译(Precompilation)

在本篇文章的第一部分:[原创]深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation),详细讨论了ASP.NET如何进行动态编译的,现在我们来谈谈另外一种重要的编译方式:预编译(Precompilation). 目录 一.为什么要进行预编译 二.In Place Pre-compilation V.S. Pre-compilation for Deployment 三.Non-updatable Pre-compilation V.S. Updatable P

深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)

Microsoft 的Visual Studio为我们在应用开发中提供的强大功能,我们是有目共睹.借助该工具,是我们的开发 显得更加高效而轻松.从Microsoft把这个IDE的名字从VS.NET 该为VS(比如原来的Visual Studio.NET 2003,现在的版本叫VS2005),可以MS对该IDE的期望和野心:MS要把它改造成一个万能的IDE.不过任何都有其两面性,对于我们广大的开发者来说,VS是我们的各种行为简单化,傻瓜化:但是在另一方面,他也会蒙蔽我们的眼睛,使我们对它背后做的事