Nginx简介
1、Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器;
2、Nginx 是由俄罗斯人 Igor Sysoev 采用c语言开发编写的,第一个公开版本1.0发布与2004年10月4日;
3、Nginx 特点是占有内存少,并发处理能力强,以高性能、低系统资源消耗而闻名,Nginx官方测试为5万并发请求;
4、与Nginx同类型的Web服务器还有Apache、Lighttpd(音同lighty)、Tengine(阿里巴巴的)等;
5、Nginx 的并发处理能力在同类型的Web服务器中表现极好(Apache、Lighttpd),在全世界范围内大量的网站使用了Nginx,国内互联网中也大量使用了Nginx,比如:淘宝、新浪、搜狐、网易、美团等;
6、Nginx是免费开源的,同时Nginx也有收费的版本,商业版提供了性能优化、宕机等紧急问题处理等技术和服务;
Nginx的环境搭建(前面6个步骤均是在Linux系统上操作的)
1、下载
免费开源版的官方网站:http://nginx.org
Nginx 有 Windows 版本和 Linux 版本, 但更推荐在 Linux 下使用 Nginx;
2、安装
安装前的准备:
Nginx的安装需要 Linux 安装相关的几个库,否则配置和编译会出现错误,这几个库分别是:
- gcc编译器是否安装?
检查是否安装:
yum list installed | grep gcc
执行安装:
yum install gcc -y
- openssl库是否安装?
检查是否安装:
yum list installed | grep openssl
执行安装:
yum install openssl openssl-devel -y
- pcre库是否安装?
检查是否安装:
yum list installed | grep pcre
执行安装:
yum install pcre pcre-devel -y
- zlib库是否安装?
检查是否安装:
yum list installed | grep zlib
执行安装:
yum install zlib zlib-devel -y
- 一次性安装执行如下命令:
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
这里我建议直接选择一次性安装,我这里的话已经安装好了,就没有在演示了。
正式安装:
- 先将我们下载的nginx文件传到linux系统中,你可以在/root根目录下创建一个文件夹,在创建的文件夹目录下执行命令:
rz
- 解压下载下来的nginx文件执行命令:
tar -zxvf nginx-1.18.0.tar.gz
- 切换至解压后的nginx主目录,执行命令:
cd nginx-1.18.0/
- 在nginx主目录nginx-1.18.0下执行命令:(其中- -prefix是指定nginx安装路径)
./configure --prefix=/usr/local/nginx
例如:
5. 执行命令:(必须要执行完第5步和第6不才会有/usr/local/nginx目录)
make
- 执行命令:
make install
可以执行命令:
cd /usr/local 和 ll 查看是安装好
3、启动(以非root用户启动会出错,原因是非root用户不能使用1024以下的端口,改用root用户启动解决)
- 普通启动:
切换到nginx安装的目录的sbin目录下,执行:./nginx - 通过配置文件启动:(其中 -c 指定配置文件)
./nginx -c /usr/local/nginx/conf/nginx.conf (必须要切换到nginx安装的目录的sbin目录下)
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (这个是最常用的)
- 检查Nginx是否启动:
ps -ef | grep nginx
nginx 体系结构是由 master 进程和其 worker 进程组成;
master 进程读取配置文件, 并维护 worker 进程, 而 worker 进程则对请求进行实际处理;
4、关闭
- 优雅的关闭Nginx:
找出nginx的进程号:
ps -ef | grep nginx
执行命令:
kill -QUIT 主pid
其中 pid 是主进程号的pid (master process)
- 快速的关闭Nginx:
kill -TERM 主pid
这里的优雅的关闭是如果请求还在nginx中时执行了关闭服务器命令,那服务器还会继续把请求执行完,返回结果之后才会关闭服务器。那很显然快速关闭就不会返回结果了。
- 重启nginx:
./nginx -s reload (必须要切换到nginx安装的目录的sbin目录下)
5、配置检查
当修改Nginx配置文件后,可以使用Nginx命令进行配置文件语法检查,用于检查Nginx配置文件是否正确;
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t
6、其他
Linux上查看nginx版本:
/usr/local/nginx