Nginx(二)之Nginx 的安装

来源:互联网 发布:小黑屋码字软件下载 编辑:程序博客网 时间:2024/06/05 19:18

Nginx 官网提供的三种类型的版本:

  • Mainline: 主线开发版本,汇集了最新的功能和错误修复,但稳定性可能略差。
  • Stable : 当前稳定版本,经过了完全的测试,建议在正式生产环境中使用,
  • Legacy : 历史稳定版本,有特殊需求的话可以采用

安装Nginx
注意:我使用的是,腾讯的服务器,centos 32位版本,nginx 使用的是1.12.0
centos版本

  • 准备工作
    只要系统里有的GCC(或者其他编译器),Nginx就可以编译安装,但几个基本的重要的功能依赖于第三方库

  • Zlib : 实现gzip 压缩解压功能

  • pcre : 实现配置文件里的正则表达式解析功能
  • openssl : 实现SSL功能

    在Ubuntu 里安装:(这里讨论 SSl协议,所以 不需要Openssl)

     sudo apt-get install libz-dev libpcre3-dev

在Centos 安装:

yum install zlib zlib-devel      # 安装zlib 库yum install pcre pcre-devel      # 安装pcre库

两种安装方式:

快速安装
Nginx 是以源代码方式发布的,所以可以直接去官网下载源代码形式的安装包:

wget http://nginx.org/download/nginx-1.12.0.tar.gz   #使用wget下载tar xvfz nginx-1.12.0.tar.gz       #解压缩

在Ngin 目录下执行下面的命令既可快速安装Nginx:

./configure         #编译器的配置工作make                #编译sudo make install   #安装                 

这是最简单的安装方式,没有任何定制参数,Nginx 将会安装到默认的/usr/local/nginx/目录,可执行文件是/usr/local/sbin/nginx ,默认配置文件是/usr/local/nginx/conf/nginx.conf。

运行命令:
启动和停止Nginx 需要root身份,或者使用sudo。
Nginx命令很多,更加详细的命令说明可以使用 -h/-? 参数查看,或者可以去网上查询
. 不带参数简单执行程序就可以启动Nginx 服务,这将使用默认的配置文件

#在安装目录 /usr/local/nginx/sbin/ 执行./nginx         #使用默认的配置文件来启动Nginx#也可以使用 -c 参数指定配置文件来启动Nginx,这种方式允许我们启动多个Nginx实现例:./nginx -c x.conf   #指定配置文件x.conf 启动Nginx#指定工作目录, -p path是-c 的增强版,用来设置工作目录,可以指定完整的Nginx环境./nginx -p /var/nginx  #将Nginx的工作目录为/var/nginx#-s signal 参数可以快速地停止或者重启Nginx,signal值可以是stop,quit,reload或reopen:./nginx -s stop             #强制立即停止Nginx服务./nginx -s quit             #处理完当前所有的链接后再停止Nginx./nginx -s reload           #重启Nginx ,重新加载配置文件./nginx -s reopen           #重新打开日志文件

注意:如果使用了 -c /-p 参数启动了Nginx ,那么在使用-s 时,也必须使用-c / -p 参数,告诉Nginx 使用的是那个配置文件,否则会运行失败

#eg: 在使用x.conf  配置文件启动的Nginx 后重启Nginx ,必须指定配置文件;使用 -p 启动Nginx 后停止Nginx ,仍然要使用-p 参数./nginx  -s reload -c x.conf./nginx  -s stop -p /var/nginx

可以使用-t 来测试配置文件是否正确

nginx -t                #检查默认的配置文件nginx -t -c x.conf      #检查指定的配置文件

-v或 -V参数可以显示Nginx版本信息,,他不需要root 权限,两则的区别是-V可以显示更多的信息,包括GCC版本,操作系统的版本,configure参数等定制信息:
dome

…….

验证安装
如果已经成功启动了Nginx 服务,那我们怎么验证Nginx 是否正常工作?我们可以使用Wget 或者curl 这样的工具来验证
Nginx 的默认配置文件开启了localhost:80 服务,在/usr/local/nginx/html 下面放一写示例静态html 文件,curl测试命令:

curl -v -o /dev/null http://localhost/index.html

如果Nginx正在运行,那面curl 的部门输出可能会是如下:
Nginx 正常运行

上面的信息,就是http 请求头的内容。

我们也可以使用ps命令配合grep 可以看到所有的nginx 进程,也可以验证Nginx 是否正常运行:
ps aux |grep nginx

从ps 的输出我们可以看到当前共有三个Nginx 进程,其中进程号为13897,14074 的是master进程,16898 号进程是worker进程。
如果Nginx没有正常运行,我们可以查看他的错误日志以排除故障,默认位置是 /usr/local/nginx/logs/error.log

定制安装

make 前执行configure 是Nginx 的重要组成部件,它检查各种系统参数、命令行参数和依赖库,根据这些参数生成定制的Makefile和一些C源码文件,没有他就无法正确编译Nginx。
虽然configure只是一个标准的Shell 脚本,但其内部逻辑十分复杂,为了支持各种操作系统,编译器和CPU做了大量的工作,具体的我也不懂,后面继续研究

– prefix=PATH:

配置Nginx安装的部署的根目录,也就是工作目录,默认值是:/usr/local/nginx/ , 可以将它改为其他路径,这样我们就可以在一个系统里面配置不同用途的Nginx ,类似的选项有  --sbin-path 、 --conf-path等。例如:``` ./configure --prefix=/var/nginx        #这里讲Nginx安装到/var/nginx```

2.–with-xxx_module, –without-xxx_module:

这是一系列近50个模块的配置选项,用来决定在Nginx 里启用或者禁止那些自带的功能模块,我们可以根据自身的实际情况来定制Nginx的功能,例如:

./configure         \        --with-http_fiv_module  \     #支持fiv 视频文件        --without-http_gzip_module    #不适用gzip 压缩解压功能

3
3. –with-debug:
启用Nginx调试模式,可以让运行日志里打印更多的调试信息。
4. –with-ld-opt=OPTIONS:
这个是指定编译链接时的额外选项,启用了Nginx调试模式,可以让Nginx在运行日志里打印出更多的调试信息

./configure   --with-ld-opt="-ljemalloc"     #链接jemalloc库

这里不出一下:安装yum install zlip zlip-devel 失败,
要先安装 GCC编译器,或者其他编译器, yum install gcc