Nginx
二次开发版:tengine,openresty
高并发,热部署[不停机更新配置文件,更换日志文件,更新服务器版本]
模块化设计,较好的扩展性,高可靠性
event-driven,aio,mmap
基本功能:
静态资源的web服务器
可以作为http协议的反向代理服务器
邮件协议反射代理服务器
fastcgi,uwsgi等协议
模块化[废动态dso]zip,ssl
web服务器相关的功能
虚拟主机,keeplive,访问日志,url rewrite,路径别名,基于ip用户访问控制
nginx的程序架构
master/worker
一个master进程,生产一个和多个worker进程
master:加载配置文件,管理worker,升级
worker:http服务/代理,fastcgi代理
/usr/share/nginx/html/index.html
模块类型
核心模块:core module
标准模块
standard http
optional http
mail
第三方模块
nginx用途:
静态web服务器
http协议反向代理
配置nginx:
1.安装
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=0
yum -y install nginx
2.配置
配置文件的组成部分
主配置文件:
nginx.conf
facscgi,scgi,uwscgi
mime.types
其他配置文件
include /etc/nginx/conf.d/*.conf
配置指令(以;结尾)
directive x;
支持变量
模块引入,直接调用
自定义 set variable_name x
引用变量 $variable_name
配置文件结构
main block :对http级mail模块均有效
event {
...
} 事情驱动的相关配置
http {
....
} http协议的相关配置
http全局配置
{
...
server{
...
server_name
root
alias
location /url{
}
}
}
nginx配置文件:
组成:
main block 全局配置
配置指令
正常运行的配置
性能优化的配置
调试定位
1.daemon on| off
2.master_process on|off
3.error_log file |stderr|syslog
日志级别
debug 依赖with-debug
cpu绑定
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
进程优先级:-20-19
worker_priority -10;
worker打开的最大文件数
worker_rlimit_nofile
worker打开的最大连接数
worker_connections number;
Default: worker_connections 512;