Nginx源码分析 --- 编译、安装
  		作者:hahaya
  		日期:
  	
Nginx目录结构
要学习Nginx源代码,首先得下载一份源代码,官方下载地址http://nginx.org/en/download.html,这里我下载的Nginx版本为1.4.7,下载后解压,得到的目录结构如下:
    |---auto    (执行./configure命令时,所依赖的一些自动脚本)  
    |---conf    (Nginx需要的配置文件模板)  
    |---contrib (存放一些实用工具)  
    |---html    (默认的网页访问文件存放目录)  
    |---man     (帮助文档)  
    |---src     (Nginx核心源代码目录)  
        |---core   (核心基础代码 Nginx服务的入口)  
        |---event  (事件处理逻辑的封装)  
        |---http   (HTTP协议处理模块 Nginx可作为WEB服务器和代理服务器运行时的核心模块)  
        |---mail   (Mail协议处理模块 Nginx作为pop3/imap/smtp代理服务器运行时的核心模块)  
        |---misc   (Nginx的一些utils 定义了test和profiler的一些外围模块的逻辑)  
        |---os     (Nginx对各个平台抽象逻辑的封装)  
    |---ojbs    (只有当configure命令执行成功时才会生成该目录 Nginx源码并没有这个目录 编译生成的目标文件存放目录)  
        |---autoconf.err       (保存configure命令执行过程中产生的结果)  
        |---ngx_auto_headers.h (保存了一些宏 会被src/core/ngx_config.h和src/os/unix/ngx_linux_config.h引用)  
        |---ngx_auto_config.h  (保存了一些宏 会被src/core/ngx_config.h和src/os/unix/ngx_linux_config.h引用)  
        |---Makefile           (编译Nginx工程 以及执行make install进行安装Nginx)  
        |---ngx_modules.c      (定义Nginx支持的模块以及模块的优先级)  
        |---src  
            |---core  
            |---event  
                |---modules  
            |---os  
                |---unix  
                |---win32  
            |---http  
                |---modules  
                    |---perl  
            |---mail  
            |---misc  
编译、安装
由于我现在并并进行Nginx源码的调试,故我选择最方便的方式进行编译安装。Nginx的编译安装也很简单,只需要按照基本的配置、编译、安装三步即可,依次在终端下执行如下命令:
    //配置 --prefix指定安装路径  
    ./configure --prefix=/home/hahaya/study/bin/nginx  
    
    //编译  
    make  
    
    //安装部署 安装到指定prefix的安装目录下  
    make install  
Nginx简单使用
Nginx的启动和停止也很简单, 切换到Nginx的安装目录,然后只需在终端下执行sudo ./nginx启动Nginx,在终端下执行sudo ./nginx -s stop停止Nginx
 
    
