Nginx-基础篇

2017-11-03 01:01:39 字数 2402 阅读 376 评论 0

一、相关概念

1. What's nginx?

Nginx是一个开源且高效、可靠的HTTP中间件、代理服务。

2. Why is it?

2.1 I/O多路复用epoll

2.1.1 什么是I/O多路复用?

多个描述符的I/O操作都能在一个线程内并发交替地顺序完成。这就叫做I/O多路复用,这里的“复用”指的是复用同一个线程。

2.1.2 什么是epoll

IO多路复用的实现方式有select,poll,epoll

  • select的缺点 a. 能够监视的文件描述符的数量存在最大限制。 b. 线性扫描效率低下。
  • epoll a. 每当fd就绪,采用系统的回调函数直接将fd放入,效率更高。

b.没有最大连接数的限制。

2.2 轻量级

功能模块少 代码模块化

2.3 CPU亲和(affinity)

2.3.1 为什么cpu亲和?

是一种把cpu核心和nginx工作进程绑定的方式,把每一个worker绑定到一个cpu上执行,减少切换cpu的cache miss,获得更好的性能。

2.4 sendfile

二、安装Nginx

安装前准备

查看与关闭iptables

[root@server~]# iptables -L
[root@server~]# iptables -F

查看与关闭SELinux

[root@server~]# getenforce
Disabled
[root@server ~]# setenforce 0
setenforce: SELinux is disabled

安装基础依赖

yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake

安装其它依赖包

yum install -y wget httpd_tools vim

yum方式安装

查看编译参数

nginx -V

查看安装路径

rpm -ql nginx

安装目录介绍

编译选项 类型 说明
/etc/logrotate.d/nginx 配置文件 日志轮转,用于logrotate服务的日志切割
/etc/nginx/ /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/conf.d/default.conf 目录、配置文件 安装目的目录或路径
/etc/nginx/fastcgi_params /etc/nginx/scgi_params /etc/nginx/uwsgi_params 配置文件 cgi配置相关,fastcgi配置
/etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf 配置文件 编码转换映射转化文件
/etc/nginx/mime.types 配置文件 设置http协议的Content-Type与扩展名对应的关系
/etc/sysconfig/nginx /etc/sysconfig/nginx-debug /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service 配置文件 用于配置系统守护进程管理器管理方式(新版centos)
/etc/nginx/modules /usr/lib64/nginx/modules 目录 nginx模块目录
/usr/sbin/nginx /usr/sbin/nginx-debug 命令 nginx服务启动管理的终端命令
/usr/share/doc/nginx-1.12.2 /usr/share/doc/nginx-1.12.2/COPYRIGHT /usr/share/man/man8/nginx.8.gz 文件、目录 Nginx的手册和帮助文件
/var/cache/nginx 目录 Nginx的缓存目录
/var/log/nginx 目录 Nginx的日志目录

编译安装参数

编译选项 作用
--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/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 安装的目的目录或路径
--http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp 执行对应模块时,Nginx所保留的临时性文件
--user=nginx --group=nginx 设置Nginx进程启动的用户组与用户
--with-cc-opt 设置额外的参数将被添加到CFLAGS变量
--with-ld-opt 设置附加的参数,链接系统库
标签: Nginx

评论(0)

请先登陆,参与评论。

    聚合标签