nginx 配置
Posted huxl1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 配置相关的知识,希望对你有一定的参考价值。
nginx是一个2级模式: master/worker 是一款轻量级web
应用于: web服务 , 反向代理 , 负载均衡
master作用:
1 负责加载分析主配置文件
2管理worker进程
3实现平滑升级
nginx :是一个高度模块化,
模块分类:
核心模块:主程序
标准模块:一般常见是http模块
http模块分为:标准http模块, 可选的http模块
第三方模块:需要使用时自己安装包
stream modules 实现传输代理 也可以实现负载均衡
nginx功能:
1 web的静态服务器
2 结合 fsatcgi,scgi等协议动态资源请求
3 http反向代理
4tcp/udp的协议请求转发
5邮件协议转发
nginx安装:
1 rpm包
http://nginx.org/packages/centos/7/x86_64/RPMS/
e]# yum install -y nginx-1.12.1-1.el7.ngx.x86_64.rpm
安装后可以直接启动
]# systemctl status nginx.service
2 nginx编译安装与应用
下载上传软件包:nginx-1.12.2.tar.gz
yum groupinstall "Development Tools" "server platform Development"
yum install pcre-devel openssl-devel zlib-devel –y
useradd -r nginx
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-threads
make && make install
3 配置文件
nginx性能优化、定位调试、定义客户端请求与限制、文件操作优化等实际应用详解
/etc/nginx/nginx.conf
1 worker_processes auto 指定worker进程数通常因小于或等于主机cpu的物理cpu核心数 auto 是等于主机物理cpu核心数
2 cpu绑定
Worker_cpu_affinity auto
Worker_cpu_affinity 1000 0100 0010 0001
绑定在cpu第几核上
1000 第3个 0100 第2个 0010 第1个 0001 第0个
Ps -axo comm,pid,psr| grep nginx ----查看nginx的worker都工作在哪个内核上
没有绑定前是动态变化的,
Wahch -n .5 “ ps -axo comm,pid,psr | grep nginx” 可以动态查看
绑定后就固定不变了
Nginx -t 查看语法
3 worker_privity number 指定worker的nice位优先级[-20---20] 默认都是0
调试定位问题
1 error_log 错误日志
2 naster_process on|off 是否以master/worker模式工作
3daemon on|off 是否以守护进程运行
worker_connections 1024; worker 进程最大并发链接数
Accept_mutex on|off 处理链接请求方式
On表示有worker轮流处理
Off 表示请求谁先到达就先处理谁
http {...........} http模块
sendfile on; 是否启动sendfile功能
tcp_nodelay on; 当一个小的请求是不进行等待立即响应处理
tcp_nopush on;
keepalive_timeout 65; 保存链接时长
keepalive_request 100; 保存请求数 默认100个
types_hash_max_size 2048; 设定保存最大的hash值大小
Server {........} 设定虚拟主机
listen 80 default_server; 监听端口
server_name _; 虚拟主机名字 可以多个
root /usr/share/nginx/html; 根路径
Location{.........} 来指明一个URL 的访问设定
如 local / {
Deny 192.168.220.1;
Allow all;
}
/ : 对根做精准匹配 ,这里的根是指server 中root指定的路径
= /f1.ht:ml 对URL 做精准匹配
~* : 对URL做正则表达式匹配不区分大小写
location ~*.jpg
~: 对URL 做正则表达式匹配区分大小写
^~: 对URL 左半边做匹配不区分大小写
error_page 404 /404.html; 错误页面
以上是关于nginx 配置的主要内容,如果未能解决你的问题,请参考以下文章