《深入剖析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]# ./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
时间: 2025-01-29 23:05:36

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

《深入剖析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 --prefi

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

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

《深入剖析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.4 获得Nginx程序完整执行流程

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

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

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

《深入剖析Nginx》一导读

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

《深入剖析Nginx》——1.2 源码下载

1.2 源码下载 深入剖析Nginx Nginx的源码可通过官网提供的下载地址1找到,截止当前的最新版本是Nginx 1.2.0,也就是本书所针对的版本.虽然官网下载页没有提供Nginx旧版源码的下载链接,但Nginx的所有版本源码包都是放在目录 http://nginx.org/download/下的,所以包括Nginx 0.1.0版本在内的Nginx源码都能下载到. 由于Nginx背后有公司运作,所以其更新速度比较快,相关资料也比较齐全,下面是一些有用的网址. 官方主页:http://ngi

《深入剖析Nginx》一第1章 源码分析的准备工作

第1章 源码分析的准备工作 深入剖析Nginx 从Nginx(读作engine x)的官方网站1,我们可以看到如下介绍:Nginx是Igor Sysoev2编写的一款HTTP和反向代理服务器,另外它也可以当作邮件代理服务器.它一直被众多流量巨大的俄罗斯网站所使用,例如Yandex3.Mail.Ru4.VKontakte5以及Rambler6等.据Netcraft统计,截止到2012年8月份,世界上最繁忙的网站中有11.48%7在使用Nginx作为其服务器或者代理服务器.部分典型成功案例有:Net