nginx —高性能的http和反向代理的服务器,也是IMAP/POP3/SMTP代理服务器
俄罗斯人 Igor Sysoev 建立
nginx 以事件驱动方式编写,非常高效,适合做集群前端
nginx 具有很高的稳定性,采用分阶段资源分配技术,很大程度上减轻了DOS攻击的影响
nginx 支持热部署,可以7*24小时不间断运行
nginx 采用master-slave模型,充分利用smp的优势,且能够减少工作进程在磁盘I/O的阻塞延迟,
采用select()/poll()调用时,还可以限制每个进程的连接数强大的UPSteam和filter链 —- 反向代理和管道功能
nginx 主流是以多进程方式工作,一个master进程和多个worker进程,master管理、监控worker进程
worker进程互相独立,worker进程不能处理其他worker的事情,一般设置worker数为机器的CPU核心数
master接收外界的信号,根据信号做不同的事情,
控制nginx使用kill向master发送信号即可,如kill -HUP pidhandler 的编写步骤:—- 世上无难事,只怕有心人
1. 编写模块的基本结构,包括模块的定义,模块上下文结构,模块的配置结构等
2. 实现handler的挂载函数,根据模块的需求选择正确的挂载方式
3. 编写handler的处理函数,模块的功能主要通过这个函数完成nginx模块分为三大类: handler、filter、upstream
1. 利用handler和filter可以完成单机工作
2. 利用upstream可以跨越单机的限制,完成网络数据的接收、处理、转发
3. 在云模式大行其道的今天,数据转发使nginx有能力构建一个网络应用的关键组件
4. nginx的配置系统提供的层次化、松耦合使得系统有很好的扩展性
5. 严格来说upstream属于handler,只是它自己不产生内容只需要开发若干回调函数,完成构造请求和解析响应等工作任何upstream模块,简单如memcached,复杂如proxy、fastcgi
负载均衡用于从upstream指令定义的后端主机列表中选取一台主机,
nginx先用负载均衡找到一台主机,再使用upstream模块实现和主机的交互尝试环境搭建:
1. nginx3机器安装nginx,配置upstream 负载均衡nginx1和nginx2机器, 并开放共享目录 /home/sharedir
2. nginx1机器安装tomcat和php,并使用nginx3机器的共享目录作为工作目录
3. nginx2机器安装tomcat和php,并使用nginx3机器的共享目录作为工作目录4. nginx1和nginx2的mysql 实现主从配置(待尝试)
搭建环境过程中遇到一些系统设置:
1. 设置静态ip: vim /etc/network/interface# The primary network interface
nginx一些基础知识、搭建和mysql主从复制搭建
最新推荐文章于 2024-05-31 09:59:26 发布