目录
一、Nginx基础
1.1 什么是Nginx
以下源自百度百科(便于英文不太好的童鞋们)
也可查看Nginx官网
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
简单来说,Nginx就是一款Http和反向代理服务器。
Nginx和Tomcat的区别:
Nginx「HTTP Server」是一个HTTP Server ,侧重关心HTTP协议层面的传输和访问控制
Tomcat「Application Server」是一个应用服务器,比如:将应用部署到tomcat服务器
两者功能有重合,但是侧重点不同,目前都是将两者相结合使用
Nginx的作用:
① Http服务器(性能非常高,支持50000个并发数;CUP和内存占用低,10000个没有活动的连接仅仅占用2.5M)
② 反向代理服务器
③ 负载均衡服务器
1.2 Nginx的安装
Windows系统只需要下载zip压缩包解压即可。
这里重点讲一下Linux系统下的安装步骤:
① 上传nginx安装包到linux服务器,nginx安装包(.tar包) 下载地址:http://nginx.org(这里使用1.17.8版本)
② 安装Nginx依赖,pcre、openssl、gcc、zlib(使用yum源自动安装)
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
③ 解包Nginx软件包
tar -xvf nginx-1.17.8.tar
④ 进入解压之后的目录 nginx-1.17.8
cd nginx-1.17.8
⑤ 执行编译命令(Nginx是用C语言编写的,下载的源码包是需要编译的)
./configure
make
make install,
完毕之后在/usr/local/下会产生一个nginx目录
⑥ 启动、重启、重新加载命令
./nginx #启动nginx
./nginx -s stop #终止nginx 当然也可以找到nginx进程号,然后使用kill -9 杀掉nginx进程
./nginx -s reload #重新加载nginx.conf配置文件
二、Nginx核心配置解读
Nginx的核⼼配置⽂件conf/nginx.conf包含三块内容:全局块、events块、http块
2.1 全局块
从配置文件开始到events块之间的内容,此处的配置影响nginx服务器整体的运行,比如worker进程的数量、错误日志的位置等
#------------全局块--------------
#运行用户
#user nobody;
#worker进程数(一般设置为CUP数)
worker_processes 1;
#全局错误日志及pid文件位置
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#------------全局块--------------