三、nginx-nginx安装

一、获取 Nginx 源码

        可以在 Nginx 官方网站(http:/nginx.org/en/download.html)获取 Nginx 源码包。将下载的ngimx-1.24.0.tar.gz 源码压缩包放置到准备好的 Nginx 源代码目录中,然后解压。

tar -zxvf nginx-1.24.0.tar.gz

二、编译安装Nginx

        ./configure
        make
        make install
        configure 命令做了大量的“幕后”工作,包括检测操作系统内核和已经安装的软件,参数的解析,中间目录的生成以及根据各种参数生成一些C源码文件、Makefile 文件等。make命令根据configure命令生成的Makefile文件编译Nginx工程,并生成目标文件最终的二进制文件。
make install命令根据configure执行时的参数将Nginx部署到指定的安装目录,包括相关目录的建立和二进制文件、配置文件的复制。

三、configure 详解

        可以看出,configure命令至关重要,下面将详细介绍如何使用configure命令,并分析configure 到底是如何工作的,从中我们也可以看出Nginx的一些设计思想。

3.1 configure 的命令参数

        使用 help命令可以査看 configure 包含的参数。

        ./configure --help
        这里不一一列出 help的结果,只是把它的参数分为了四大类型,下面将会详述各类型下的命令参数:

3.1.1路径参数

参数名称意义默 认 值
--prefix=PATHNginx安装部署后的根目录默认为/usr/local/nginx目录。注意:这个目标的设置会影响其他参数中的相对目录。例如,如果设置了--sbin-path=sbin/nginx,那么实际上可执行文件会被放到/usr/local/nginx/sbin/nginx中
 
--sbin-path=PATH可执行文件的放置路径<prefix>/sbin/nginx
--conf-path=PATH配置文件的放置路径prefix>/conf/nginx.conf
-error-log-path=PATHerror日志文件的放置路径。eror日志用于定位问题,可输出多种级别(包括debug调试级别)的日志。它的配置非常灵活,可以在nginx.conf里配置为不同请求的日志并输出到不同的log文件中。这里是默认的Nginx核心日志路径prefix>/logs/error.log
-pid-path=PATHpid文件的存放路径。这个文件里仅以ASCⅡ码存放着Nginxmaster的进程ID有了这个进程ID,在使用命令行(例如nginx-s reload)通过读取master进程ID向master进程发送信号时,才能对运行中的 Nginx服务产生作用
<prefix>/logs/nginx.pid
--lock-path=PATHlock 文件的放置路径prefix>/logs/nginx.lock
--builddir=DIRconfigure 执行时与编译期间产生的临时文件放置的目录,包括产生的MakefileC 源文件、目标文件、可执行文件等<nginx source path>/objs
--with-perl_modules_path=PATHperl module 放置的路径。只有使用了第三方的perl module,才需要配置这个路径
--with-perl-PATHperl binary 放置的路径。如果配置的 Nginx会执行Per脚本,那么就必须要设置此路径
--http-log-path=PATHaccess日志放置的位置。每一个HTTP请求在结束时都会记录的访问日志<prefix>/logs/access.log
--http-client-body-temp-path=PATH处理HTTP请求时如果请求的包体需要暂时存放到临时磁盘文件中,则把这样的临时文件放置到该路径下<prefix>/elient_body_temp
--http-proxy-temp-path=PATHNginx作为HTTP反向代理服务器时上游服务器产生的HTTP包体在需要临时存放到磁盘文件时,这样的临时文件将放到该路径下<prefix>/proxy_temp
--http-fastcgi-temp-path=PATHFastegi所使用临时文件的放置目录<prefix>/fastcgi_temp
--http-jastcgi-temp-path=PATHuWSGI所使用临时文件的放置目录<preflx>/uwsgi_temp
--http-scgi-cmp-path=PATHSCGI所使用临时文件的放置目录<prefix>/scgi_temp

3.1.2编译相关的参数

编译参数意 义
--with-cc=PATHC编译器的路径
--wih-cpp=PATHC预编译器的路径
--with-cc-opt=OPTIONS如果希望在Nginx编译期间指定加人一些编译选项,如指定宏或者使用加人某些需要包含的目录,这时可以使用该参数达成目的
--with-ld-opt=OPTIONS最终的二进制可执行文件是由编译后生成的目标文件与一些第三方库链接生成的在执行链接操作时可能会需要指定链接参数,--with-Id-opt就是用于加入链接时的参数。例如,如果我们希望将某个库链接到Nginx程序中,需要在这里加入--wih-ld-opt=libraryName -LlibraryPath,其中libraryName是目标库的名称,libraryPath则是目标库所在的路径
--with-cpu-opt=CPU指定CPU处理器架构,只能从以下取值中选择:pentium、pentiumpro、pentium3、pentium4、athlon、opteron、sparc32、sparc64、ppc64

3.1.3依赖软件的相关参数

PCRE 库的设置参数意 义
--without-pcre如果确认Nginx不用解析正则表达式,也就是说,nginx.conf配置文件中不会出现正则表达式,那么可以使用这个参数
--with-pcre强制使用PCRE库
--with-pcre=DIR指定PCRE库的源码位置,在编译Ngix时会进人该目录编译PCRE源码
--with-pcre-opt=OPTIONS编译PCRE源码时希望加人的编译选项
OpenSSL库的设置参数意 义
--with-openssl=DIR指定 OpenSSL 库的源码位置,在编译 Nginx时会进人该目录编译 OpenSsL 源码注意:如果Web服务器支持HTTPS,也就是SSL协议,Nginx要求必须使用OpenSSL。可以访间hutp://wwwopenssl.erg免费下载
--with-openssl-opt=OPTIONS编译 penSSL 源码时希望加入的编译选项
atomic(原子)库的设置参数意义
--with-libatomic强制使用 atomic库。atomic库是CPU架构独立的一种原子操作的实现。它支以下体系架构:x86(包括i386和x86_64)、PPC64、Sparc64(v9或更高版本)卖者安装了GCC4.1.0及更高版本的架构。
--with-libatomic-DIR
atomic库所在的位置
散列函数库的设置参数意 义
--with-MD5=DIR指定 MD5 库的源码位置,在编译Nginx时会进人该目录编译MDS源码注意:Nginx源码中已经有了MD5算法的实现,如果没有特殊需求,那么完全可以使用Nginx自身实现的MD5算法
--with-MD5-opt=OPTIONS编译 MD5 源码时希望加入的编译选项
---with-MDS-asm使用 MD5 的汇编源码
--with-SHA1=DIR指定SHA1库的源码位置,在编译Nginx时会进入该目录编译SHA1源码。注意:OpenSSL中已经有了SHA1算法的实现。如果已经安装了OpenSSl那么完全可以使用OpenSSL实现的SHA1算法
--with-SHA1-opt=OPTIONS编译SHA1源码时希望加入的编译选项
--with-SHAl-asm使用 SHA1 的汇编源码
zlib 库的设置参数意义
--with-zlib=DIR指定zlib库的源码位置,在编译Nginx时会进入该目录编译zlib源码。如果使用了gzip压缩功能,就需要zlib库的支持
--with-zlib-opt=OPTIONS编译zlib源码时希望加入的编译选项
--with-zlib-asm=CPU指定对特定的CPU使用zlib库的汇编优化功能,目前仅支持两种架构:pentium和pentiumpro

由于模块相关的参数较多,将在下一章详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值