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 配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx启动与配置

nginx配置

Nginx主配置参数详解,Nginx配置网站

nginx 配置详解是啥?

Nginx 虚拟域名配置

nginx如何配置代理