Nginx默认配置


Nginx

Nginxs 是一个开源且高性能 可靠的HTTP中间件 .代理服务

Nginx特性

1.OI多路复用epoll >多个描述符的I/O操作能在一个线程内并发交替的顺序完成

复用是指:复用同一个线
epoll模型: 每当FD就绪,采用系统回调函数之间将fd放入 ,效率更高 ,最大连接数无限制
2.轻量级
功能模块少
代码模块少

3.CPU亲和
是一种把CPU核心和Nginx工作进程绑定方式,把每个worker进程固定在在一个cpu上执行 减少切换cpu的cache miss ,获得更好的性能

4.sendfile
sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据

Nginx安装(yum)

复制yum源

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7/$basearch/
gpgcheck=0
enabled=1

安装nginx

[root@Nginx ~]# yum install nginx 
[root@Nginx ~]# nginx -v
nginx version: nginx/1.14.2 

安装目录

Nginx默认配置语法

user                   设置nginx服务的系统使用用户
worker_processes      工作进程数  一般和cpu核心一致 
error_log              nginx的错误日志  
pid                    nginx服务启动时候的pid  

worker_connections 每个进程数允许最大连接数 最大为65535 一般10000

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp_nopush     on;

keepalive_timeout  65;

#gzip  on;
include /etc/nginx/conf.d/*.conf;   //子配置文件
}   

HTTP请求

[root@Nginx ~]# curl -v www.baidu.com >/dev/null

Nginx日志类型

error.log 记录nginx处理http请求的错误状态以及nginx服务的运行错误状态
access_log 记录http请求的访问状态

主要依赖与log_format 后面为nginx变量 通过连接输入到日志
log_format main ‘$remote_addr - $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘“$http_user_agent” “$http_x_forwarded_for”‘;
//对于log_format 只能配置在http中
access_log /var/log/nginx/access.log main;