前言
关于Nginx,你了解多少~一、Nginx 简介Nginx("engine x") 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、 淘宝等 。
1.1 WEB 服务器
Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php
等 。但是不支持 JAVA 。Java 程序只能通过与 Tomcat 配合完成 。Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高达 50000个并发连接数 。
1.2 反向代理
1.正向代理,代理客户端,客户端需要配置代理
2.反向代理,代理服务端,客户端无感知
1.3 负载均衡
Nginx 的异步框架可以处理很大的并发请求,把这些并发请求 hold 住之后就可以分发给后台服务端(backend servers,也叫做服务池, 后面简称 backend)来做复杂的计算、处理和响应,这种模式的好处是相当多的:隐藏业务主机更安全,节约了公网 IP 地址,并且在业务量增加的时候可以方便地扩容后台服务器 。
这时候集群的概念产生了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服器,也就是我们所说的负载均衡 。
1.4 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度 。降低原来单个服务器的压力 。
Nginx部署静态资源,tomcat部署动态资源二、安装启动Nginx官网
2.1 相关安装包
? pcre-8.37.tar.gz ? openssl-1.0.1t.tar.gz ? zlib-1.2.8.tar.gz ? nginx-1.11.1.tar.gz
2.2 安装流程
2.1.1.安装 pcre 解压缩 pcre-xx.tar.gz 包
进入解压缩目录,执行./configure
如果提示,需要提前安装 gcc++,进入安装光盘目录的软件包(/media/centosXX/Package)执行
rpm -ivh libstdc+±devel-4.4.7-17.el6.x86_64.rpm
rpm -ivh gcc-c+±4.4.7-17.el6.x86_64.rpm
./configure 完成后,回到 pcre 目录下执行 make,再执行 make install
2.2.2.安装 openssl
解压缩 openssl-xx.tar.gz 包 。
进入解压缩目录,执行./config
make && make install
2.2.3.安装 zlib 解压缩 zlib-xx.tar.gz 包 。
进入解压缩目录,执行./configure 。
make && make install
2.2.4.安装 nginx
解压缩 nginx-xx.tar.gz 包 。
进入解压缩目录,执行./configure 。
make && make install
查看开放的端口号
firewall-cmd --list-all
设置开放的端口号
firewall-cmd --add-service=http –permanent
sudo firewall-cmd --add-port=80/tcp --permanent
重启防火墙
firewall-cmd –reload
2.3 Nginx 启动
命令
启动命令:在/usr/local/nginx/sbin 目录下执行 ./nginx
关闭命令: 在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop
重新加载命令: 在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload·
设置 nginx 为自启动服务
修改 linux 启动脚本/etc/rc.d/rc
加入
:/usr/local/nginx/sbin/nginx
三、Nginx核心配置文件nginx 安装目录下,其默认的配置文件都放在conf 目录下,而主配置文件nginx.conf 也在其中,后续对 nginx 的使用基本上都是对此配置文件进行相应的修改 。
worker_processes 1;events {worker_connections 1024;}http {include mime.types;default_type Application/octet-stream;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root html;index index.html index.htm;}}}
根据上述文件,我们可以很明显的将 nginx.conf 配置文件分为三部分第一部分:全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等 。
比如上面第一行配置的:worker_processes 1;
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约 。
第二部分:events 块
events {worker_connections 1024;}
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等 。
推荐阅读
- 技术大佬教你如何使用Nginx在公网上搭建加密数据通道?
- Nginx配置知识点梳理
- |作为钓鱼人如果不知道以下这些专业术语,别人一看你就是小白
- nginx详细用法
- 负载均衡 LVS 与 Nginx 对比
- nginx配置文件使用环境变量
- Centos7 搭建minio集群配合nginx做文件服务器
- Nginx配置文件nginx.conf中文详解
- 女生哪些行为一看就没谈过恋爱?
- 分流|中考“普职分流”取消,特色高中又来了!记住:有考试就会有区分