一、Nginx简介
- Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器;
- Nginx 是由俄罗斯人 Igor Sysoev 采用C语言开发编写的,第一个公开版本0.1.0发布于2004年10月4日;
- Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求;
- 与Nginx同类型的Web服务器还有Apache、Lighttpd(音同lighty)、Tengine(阿里巴巴的) 等;
- Nginx的并发处理能力在同类型的Web服务器中表现极好(Apache、Lighttpd),在全世界范围内大量的网站使用了Nginx,国内互联网中也大量使用了Nginx,比如:淘宝、新浪、搜狐、网易、美团等;
- Nginx是免费开源的,同时Nginx也有收费的商业版本,商业版本提供了性能优化、宕机等紧急问题处理等技术支持和服务;
二、Nginx环境搭建
下载
-
免费开源版的官方网站:
http://nginx.org
-
Nginx 有 Windows 版本和 Linux 版本,但更推荐在 Linux 下使用 Nginx
-
下载nginx-1.12.2.tar.gz的源代码文件:
wget http://nginx.org/download/nginx-1.12.2.tar.gz
-
若wget找不到(若有wget则此步可以省略),有
-bash: wget: command not found
则可以通过yum安装:yum -y install wget
安装
1.安装前准备
Nginx的安装需要Linux安装相关的几个库,否则配置和编译会出现错误,这几个库分别是以下几个,若没有安装则可以根据下面进行安装。
- gcc编译器是否安装?
(1). 检查是否安装:yum list installed | grep gcc
(2). 执行安装:yum install gcc -y
- openssl库是否安装?
(1). 检查是否安装:yum list installed | grep openssl
(2). 执行安装:yum install openssl openssl-devel -y
- pcre库是否安装?
(1). 检查是否安装:yum list installed | grep pcre
(2). 执行安装:yum install pcre pcre-devel -y
- zlib库是否安装?
(1). 检查是否安装:yum list installed | grep zlib
(2). 执行安装:yum install zlib zlib-devel -y
2.正式安装
- 解压下载下来的nginx文件,执行命令:
tar -zxvf nginx-1.12.2.tar.gz
- 切换至解压后的nginx主目录,执行命令:
cd nginx-1.12.2
- 在nginx主目录nginx-1.12.2下执行命令:
./configure --prefix=/usr/local/nginx
(其中–prefix是指定nginx安装路径) - 执行命令进行编译:
make
- 执行命令进行安装:
make install
启动
1.启动nginx执行命令
- 普通启动:
切换到nginx安装目录的sbin目录下,执行:./nginx
- 通过配置文件启动:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
,其中-c是指定配置文件
2.检查Nginx是否启动:
- 通过查看进程:
ps -ef | grep nginx
,如下图所示
- nginx 体系结构由 master 进程和其 worker 进程组成
- master 进程读取配置文件,并维护 worker 进程,而 worker 进程则对请求进行实际处理
关闭
- 优雅关闭Nginx
(1).找出nginx的进程号:ps -ef | grep nginx
(2).执行命令:kill -QUIT 主pid
(3).其中pid是主进程号的pid(master process) , 其他为子进程pid(worker process) - 快速关闭Nginx
(1). 找出nginx的进程号:ps -ef | grep nginx
(2).执行命令:kill -TERM 主pid
- 重启Nginx
(1). 执行命令:./nginx -s reload
配置检查
- 当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确
- 检查Nginx配置文件是否正确:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t
其他
- Linux上查看nginx版本:
/usr/local/nginx/sbin/nginx -V
- -v (小写的v)显示 nginx 的版本
- -V (大写的V)显示 nginx 的版本、编译器版本和配置参数