Nginx的安装过程和目录介绍

    技术2025-05-05  17

    1、下载Nginx;

    2、介绍个目录;

    3、Configure;

    4、中间文件介绍;

    5、编译;

    6、安装;

    1、下载Nginx

    (1)再nginx的官网(nginx.org)选择稳定版的nginx,复制nginx的下载链接;

    (2)linux系统中下载nginx(当前目录为/home/geek)。命令:wget 复制的下载地址;

    出现上图说明已下载完成;

    (3)下载完nginx的压缩包以后,解压压缩包;

    2、介绍各个目录

    解压完下载的nginx的压缩包后,进入nginx的源码目录中;

    (1)auto目录:进入auto目录,查看auto目录的结构:

    auto目录中有四个子目录:cc用于编译的;lib库;对所有的操作系统的判断都在os目录;其他目录我呢见按都是为了复制configure脚本文件执行的时候,nginx支持哪些模块,当前那的操作系统有什么样的特性可以提供给nginx使用;

    (2)CHANGES文件就是每一个版本中提供了哪些特性和bugfix(可以浏览查看);

    (3)CHANGES.ru:俄罗斯版本语言的CHANGES文件(因为作者是俄罗斯人);

    (4)conf文件是一个示例文件,就是当我们把nginx安装好以后,方便运维去配置,就会把conf中的示例文件拷贝到安装目录;

    (5)configure脚本:用来生成中间文件,执行编译前的的一个必备动作;

    (6)contrib目录:提供两个脚本和vim的工具(比如我们在没有使用vim的工具时,用vim打开配置文件,就会发现它的色彩没有什么变化);

    (7)html目录中,提供了两个标准的html目录(一个是发现500错误的时候可以重定向的文件50x.html,另外是一个默认的nginx的欢迎界面index.html);

    (8)man文件:linux对nginx的帮助文件;

    (9)src目录:nginx的源代码目录;

    也就是说nginx的框架都在这些源代码中;

    3、Configure

    当前目录为/home/geek/nginx的源代码目录;

    编译可以看一下有哪些参数:./configure --help | more

    这里主要分为几个大块:

    第一个大块就是nginx在执行中会去找哪些目录的文件作为它辅组的一些文件:

    如果这些目录都没有变东的话,就只需要指定--prefix这个参数就可以了,所有的其他的这些文件就会在prefix目录下面建相应的我呢见夹。

    第二类参数主要是确定使用哪些模块和不使用哪些模块(前缀通常是--with和--without):

    通常需要住到加--with模块的时候,以为和这个模块默认是不会被编译进nginx的。

    而模块中显示--without表示模块是默认编译进nginx中,如果加了这个参数就是把它移除默认的nginx中。

    第三类参数:指定了nginx编译中需要的一些特殊的参数。

    (1)编译nginx(当前目录为/home/geek/nginx的源代码目录),使用它的默认参数;

    这里指定了nginx的安装目录是在/home/geek/nginx目录下

    如果该命令执行过程中么有任何报错,那么nginx就已经编译成功过了,这个是很好所有nginx的配置特性以及nginx运行时的目录都会列到最下方:

    (2)在configure执行完后,它会生成一些中间文件,中间文件会放在objs文件夹下,查看nginx的源码目录:

    查看objs目录下的文件:

    这里最重要的是生产的ngx-modules.c,它决定了接下我们执行编译的时候有哪些模块会被编译进nginx;

    5、编译

    当前目录为/home/geek/nginx的源代码目录。

    (1)执行make编译:

    编译完成后如果没有任何错误,这个时候就会看到就生产了大量中间文件以及最终的nginx运行的二进制文件(可以在objs目录中看到);

    (2)查看nginx的objs目录(nginx的目标文件nginx文件是放在这里的)

    如果要做nginx的版本升级,这个给时候不能执行make install,而是需要从这里把目标文件nginx拷贝到安装目录中。c语言编译时生成的所有的中间文件都会放在objs的src目录。如果使用的动态模块,动态模块编译时生产的so文件也同意会放在objs的src目录下。

    6、安装

    (1)最后在/home/geek/nginx的源代码目录进行make install,首次安装时可以使用这个命令。

    (2)安装完成以后,到安装时--prefix指定的nginx的安装目录/home/geek/nginx中,可以看到一下目录,这里最主要的nginx的二进制文件就在sbin目录下,觉得nginx的功能配置文件在conf目录下,access.log和error.log早logs目录下。

    (3)可以看到在在conf目录下所有的文件正是在原代码中conf目录中copy了一份过来,其中内容也是完全下共同的

     

     

    以上就是在编译nginx过程中所有的步骤。

    Processed: 0.011, SQL: 9