一、nginx
1.1.Nginx 功能介绍
-
静态的web资源服务器html,图片,js,css,txt等静态资源
-
http/https协议的反向代理 ,7层 url
-
结合FastCGI /uWSGI/SCGI等协议反向代理动态资源请求
-
tcp/udp协议的请求转发(反向代理) 4层
1.2.Nginx和Apache的差异
轻量级,Nginxt比Apache占用更少的内存及资源:
静态处理,Nginx静态处理性能比Apache高;
Nginx可以实现无缓存的反向代理加速,提高网站运行速度;
Nginx支持热部署,启动速度迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级;
Nginx高度模块化,编写模块相对简单,且组件比Apache少;
高并发下Nginx能保持低资源低消耗高性能;
Nginx是异步进程,多个连接可以对应一个进程;Apache是同步多进程,一个连接对应一个进程;
Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于硬件;
Nginx配置简洁,Apache配置复杂。
1.3.Nginx和Apache的优缺点比较
nginx相对于apache的优点∶
轻量级,同样起web服务,比Apache占用更少的内存及资源。
高并发,Nginx处理请求是异步非阻塞的,而Apache是阻塞型的在高并发下,Nginx能保持低资源
低消耗高性能。
高度模块化的设计。
编写模块相对简。
社区活跃,各种高性能模块出品速度
apache相对于nginx的优点∶
rewrite比nginx的rewrite强大
模块多,基本想到的都可以找到
少bug, Nginx的bug相对较超稳定
存在就是理由,一般来说,需要性能的web服务,用Nginx。如果不需要性能只求稳定,那就Apache。Nginx处理动态请求是弱项,一般动态请求要Apache去做,Nginx只适处理静态网页或反向代理。
1.4.安装nginx
centos7 需要安装epel源
yum install -y epel-release
安装epel源
yum install nginx -y
二、认识Nginx服务的主配置文件 nginx.conf
配置文件包含的内容
全局块:全局配置,对全局生效;
events块:配置影响Nginx服务器与用户的网络连接;
http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;
server块:配置虚拟主机的相关参数,一个http块中可以有多个server块;
location块:用于配置匹配的uri;
upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分。
vim /usr/local/nginx/conf/nginx.conf
三、平滑升级及命令、信号使用
nginx 命令支持向其发送信号,实现不同功能
nginx 当做单独命令使用有以下选项