进入nginx下载网站: 下载地址
一、Linux安装:
Linux安装Nginx需要自行编译,依赖一些库:rcre
库(支持rewrite
模块)、zlib
库(支持gzip
模块)、openssl
库(支持ssl
模块)等。
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
创建一个nginx目录:
mkdir /Nginx_1.16/
复制下载好的 nginx-1.16.0.tar.gz 复制到对应目录:
cp nginx-1.16.0.tar.gz /Nginx_1.16/
目录结构:
src
目录存放Nginx软件所有的源代码
man
目录存放了Nginx软件所有的帮助文档,Nginx安装完成后,在Fedora的命令行中使用man nginx
html
目录和conf目录中存放的内容和windows版本的同名目录相同
auto
目录中存放了大量脚本文件,和configure脚本程序有关
configure
文件是Nginx软件的自动脚本程序。运行configure
一般完成两个工作:一是检查环境,根据环境检查结果生成C代码;二是生成编译代码需要的Makefile
文件!
进入auto目录,我们可以看到各种脚本。有的检查环境(如os目录下的脚本),有的检查模块(如 modules脚本),有的处理脚本参数(如options脚本),有的是用来输出信息到文件的(如 have、nohave、make、install等)
重点了解configure脚本参数
ps: 参数太多,就不列出来啦(有时间就整理出来)
进入Nginx_1.16目录:
cd /Nginx_1.16/nginx-1.16.0
生成 Makefile文件:
./configure --prefix=/Nginx
--prefix
指定了Nginx软件的安装路,不指定默认为/usr/local/nginx/
目录
编译nginx
make
使用make的install命令安装:
make install
注意
在编译的过程中可能出现一些编译的错误!编译错误会给出提示!但是一般都是缺少某些依赖库或者依赖之间版本问题,某些情况下你又不能删除旧版本的依赖~
那么你就可以下载相应的依赖库的源码包,复制到你指定的目录下!然后在nginx通过configure
生成Makefile文件的时候,你可以指定某依赖包的路径!
比如出现缺少 pcre
库的依赖的时候,你可以下载 pcre
的源码包,然后通过 ./configure --with-pcre=/xxx/pcre
后生成Makefile文件。
你在没有改动nginx源代码的情况需要重新编译和安装nginx
先删除nginx软件
rm -rf /Nginx/*
进入到之前的nginx的解压目录
cd /Nginx_1.16/nginx-1.16.0
清除编译
make clean
二、windows安装
下载 windows 版本的nginx,并解压!
目录结构:
conf
目录中存放的是Nginx 服务器的配置文件
docs
目录中存放了Nginx服务器的文档资料
html
目录中存放了两个静态网页文件
logs
目录Nginx运行日志
nginx.exe
启动Nginx文件
三、Nginx服务启动
Windwos 就是启动nginx.exe
文件。
Linux上,在Nginx服务器的安装目录下 sbin
目录中的二进制文件。
查看 nginx 相关的命令
./sbin/nginx -h
输出:
nginx version: nginx/1.16.0
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: NONE)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
-h
显示帮助信息
-v
打印版本号并退出
-V
打印版本号和配置并退出
-t
测试配置正确性
-q
测试配置时只显示错误
-s
向主进程发送信号(stop 停止, quit 退出, reopen, reload 重新加载)
-p
指定Nginx服务器路径前缀
-c
指定Nginx配置文件路径
-g
指定Nginx附加配置文件路径
启动Nginx
./sbin/nginx
输入地址:localhost
ps:默认监听80端口
这个界面就是成功
Nginx服务停止
停止Nginx服务两种方式:一种是快速停止,一种是平缓停止
快速停止:就是立即停止当前的Nginx服务正在处理的所有网路请求,马上丢弃连接,停止工作!
平缓停止:就是允许当前Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,处理完当前正在处理的网络请求然后在停止工作!
./sbin/nginx -g TERM | INT | QUIT
其中:TERM 和 INT 信号用于快速停止,QUIT用于平缓停止
或者
kill TERM | INT | QUIT `/Nginx/logs/nginx.pid`
Nginx 中logs目录下的nginx.pid是Nginx在Linux中启动后的进程Id
或者
kill -9 `/Nginx/logs/nginx.pid`
kill -9 是强制关闭,不建议使用
Nginx服务的重启
./sbin/nginx -g HUP [-c newConfFile]
HUP 信号用于发送平滑重启信号
newConfFile 可选项,用于指定新配置文件的路径
或者
kill HUP `/Nginx/logs/nginx.pid`
Nginx服务重新加载配置文件
./sbin/nginx -s reload
Nginx检测配置文件是否存在错误
./sbin/nginx -t