nginx简介及模块、缓存、反向代理

nginx简介

一.什么是Nginx:

实现web服务、实现web代理功能;

二.nginx的优点:

模块化设计、较好的扩展性,高可靠性,支持热部署,支持事件驱动等;

高可靠:

master --> worker

低内存消耗:

10000个keep-alive模式下的connection,仅需要2.5MB的内存;

支持热部署:

不停机而更新配置文件、日志文件滚动、升级程序版本;

支持事件驱动、AIO、mmap;

三.nginx:

首先介绍下httpd的工作模式:

httpd: MPM

prefork, worker, event

prefork:主进程,生成多个子进程,每个子进程处理一个请求;

worker:主进程,生成多个子进程,每个子进程生成多个线程,每个线程响应一个请求;

event:主进程,生成多个子进程,每个子进程响应多个请求;

nginx基本功能:

静态资源的web服务器,能缓存打开的文件描述符;

http、smtp、pop3协议的反向代理服务器;

缓存加速、负载均衡;

支持FastCGI(fpm, LNMP), uWSGI(Python)等;

模块化(非DSO机制)、过滤器zip、SSI及图像的大小调整;

支持SSL;

扩展功能:

基于名称和IP的虚拟主机;

支持keepalive

支持平滑升级

定制访问日志、支持使用日志缓冲区提供日志存储性能;

支持url rewrite

支持路径别名

支持基于IP及用户的访问控制

支持速率限制,支持并发数限制

四.nginx安装:

安装方法:

源码:编译安装

制作好的程序包:rpm包

编译安装:

# useradd -r nginx

# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi

# make && make install

# mkdir -pv /var/tmp/nginx/{client,proxy,fastcgi,uwsgi}

配置文件:

main配置段:全局配置段

event{}配置段:定义event模型工作特性

http {}配置段: 定义http协议相关的配置

五.nginx常用模块

缓存模块、fastcgi模块、反向代理模块;

时间: 2024-10-29 19:07:10

nginx简介及模块、缓存、反向代理的相关文章

高性能Web服务之Nginx+Tomcat实现负债均衡反向代理及动静分离

在实际生产中,Tomcat服务器一般不单独使用在项目中,对于静态资源的响应Nginx表现的比较好,另外由于nginx是专门用于反向代理的服务器,所以很容易实现将java的请求转发到后端交给tomcat容器处理,而本身用来处理静态资源. 通常tomcat前端是nginx或apache,后端都为tomcat,也就意味着无论前端是什么角色都是以代理的方式进行工作的;但是要注意的是如果基于nginx做反向代理,转发请求到tomcat的时候是基于http协议进行转发的:但注意的是tomcat的连接器有ht

Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理

Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理Nginx + Tomcat + Ngx_cache_purge 实现高效反向代理 bangumi.tv//group/topic/145491 bangumi.tv//g

nginx实战(四)反向代理配置缓存及负载均衡

前言 反向代理,是指用户通过同一服务器访问服务器后端各被代理服务器的访问方式.(详见百度百科 https://baike.baidu.com/item/反向代理/7793488 )? nginx 反向代理的应用场景 1.实现外网用户对内网服务器的访问,相对保护内网服务器安全及节约网络资源2.增加缓存,缓解对内网服务器访问的压力3.通过负载均衡提高业务处理能力及高可用性? 访问内网配置 ### 代理参数,设置头信息 cat>conf/conf.d/proxy.conf<<EOF proxy

lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(一) 简介

一. 为什么这样构架 1. 系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性!采用这样的架构以后 很容易对现有系统进行扩展,只要在后端添加或者减少realserver,只要更改lvs的 配置文件,并能实现无缝配置变更!nginx提供反向代理,而tomcat则提供web服务. 二.LVS LVS是Linux Virtual Server的简写,意即Linux虚拟

nginx 防盗链+动静分离+反向代理+缓存+负载均衡

修改nginx/conf/nginx.conf,修改完后如下: user www www; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default

nginx 防盗链+动静分离+反向代理+缓存+负载均衡 (转发)

修改nginx/conf/nginx.conf,修改完后如下: [php] view plaincopyprint? user  www www; worker_processes  1; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events { worker_connections 

Nginx HTTP负载均衡和反向代理配置

当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx完整的反向代理代码如下所示  : [[email protected] conf]# vim nginx.conf user  www www; worker_processes  10; error_log  /var/log/nginx/nginx_error.log; pid        l

Nginx HTTP 负载均衡和反向代理

1.负载均衡和反向代理介绍 负载均衡是多台服务器对称方式组成一个服务器的集合,每个服务器都能单独对外提供服务,通过负载均衡技术,将客户端请求均匀的分配到服务器集合中的某个服务器上,然后服务器独立响应客户端的请求,这样解决了高并发的访问. 反向代理是指以代理服务器接受用户请求,然后将请求,转发给内部网络上的服务器,并将从服务器上得到的结果返回给用户,这时代理服务器对外表现为一个服务器,代理服务器上没有保存任何的网页数据,所有的静态网页和CGI程序都保存在内部网络上的web服务器上,增加了web服务

Nginx安装、性能测试、反向代理、负载均衡实例

一.nginx安装 我使用的环境是64位 Ubuntu 14.04.nginx依赖以下模块: l gzip模块需要 zlib 库 l rewrite模块需要 pcre 库 l ssl 功能需要openssl库 1.1.安装pcre l 获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本 l 解压缩pcre-xx.tar.gz包. l 进入解压缩目录,执行./configure. l make & make install 1.2.安装openssl l 获