Nginx 安装 和 特性介绍

一:nginx 环境搭建

四项确认

  • 确认系统网络可通行
  • 确认yum可用
  • 确认关闭iptables规则
  • 确认停用selinux

查看iptables规则

iptables -L

关闭iptables规则

iptables -F

获得当前selinux状态

getenforce

关闭selinux

setenforce 0

两项依赖安装  

yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake
yum install -y wget httpd-tools vim 

一次初始化,初始化目录是以后我们放对应的文件代码

  • app:代码目录
  • download:下载的源码包等
  • logs:自定义日志
  • work:一些shell脚本
  • backup:默认配置文件的备份
cd /opt
mkdir app download logs work backup

  

安装过程

第一步:添加Nginx到YUM源

添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

第二步:安装
在CentOS 7 服务器中使用yum命令从Nginx源服务器中获取来安装Nginx  

yum install -y nginx

第三步:启动Nginx

刚安装的Nginx不会自行启动。运行Nginx

systemctl start nginx.service
# 设置开机自启
systemctl enable nginx.service

如果一切进展顺利的话,现在你可以通过你的域名或IP来访问你的Web页面来预览一下Nginx的默认页面

Nginx的特性-实现优点

 原因一:IO多路复用epoll

什么是IO复用?

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

 原因二:轻量级

功能模块少:

源代码里只有核心代码,其他代码以插件形式安装

代码模块化:

适合二次改进

原因三:CPU亲和(affinity)

nginx正是利用到了cpu的亲和来提高并发处理能力以及减少不必要的cpu损耗。

1.什么是CPU亲和

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

2.为什么需要CPU亲和

nginx作为接入层的中间件,nginx通过多个work进程进行处理。

假设我们主机是两个CPU,每个有四个核心,我们把CPU的八个进程分别绑定到不同的CPU上(也就是不同的work分配到不同的核心上)。如果有多个CPU利用自带的CPU切换,会造成性能损失。利用这种CPU的亲

和绑定,就能减少切换的损耗。

原因四:sendfile

ginx采用sendfile机制处理静态文件,因此效率很高。

上图是传统的http服务,当我们访问一个文件时,会先经过内核空间,再经过用户空间,传给socket,最后通过response返回给用户。该过程需要多次与用户空间进行切换,但是静态文件其实不需要与用户空间进行过多的逻辑处理。直接可以通过内核空间传输。

sendfile机制只通过内核空间,将文件传给socket,最终响应给用户。

因此nginx在处理CDN和动静分离服务时有很大优势。

原文地址:https://www.cnblogs.com/crazymagic/p/11006937.html

时间: 2024-10-10 11:24:44

Nginx 安装 和 特性介绍的相关文章

​Nginx 安装详解

Nginx 安装详解 nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 如有需要nginx 安装进行图文介绍http://down.51cto.com/data/1966600 点击进行下载 yum install gcc gcc-c++ -y 下面正式开始 -------------------------------------------------------------------------------------------- 一般我们都

CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试

前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和实现用户例如.远程登录和Nginx安装过程.一步一步从头开始定制属于我们自己的系统. 正文    首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素.而其实一些相关的信息也可以参考我前面写过的博文:总结之:CentOS 6.4系统裁减详解及装载网卡步骤 一个定制的linux内核

制作busybox完成自制Linux系统及远程登录和nginx安装测试

前言系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细和深入的来谈谈Linux系统的详细定制过程和实现用户例如.远程登录和Nginx安装过程.一步一步从头开始定制属于我们自己的系统. 正文首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素,其中一些相关的信息也可以参考我前面写过的博文 一个定制的linux内核+一个定制的busybox就可以定制一个小型的Linux操作系统了,安装Dr

Nginx安装

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令 <textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="readonly" style

Nginx安装(转载)

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令 apt-get install build-essential apt-get install libtool centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libtool make 安装g++:

Windows下将nginx安装为服务运行

今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以只能双击运行,然后通过以下命令来管理:  Nginx/Win32是运行在一个控制台程序,而非windows服务方式的.服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它: Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务.(快速退出)

nginx安装及配置详解

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. 依赖: yum groupinstall "Developmen

LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广泛接受还要早7年,并且已经被红帽作为了系统内置软件,可谓很牛了.lvs相对于nginx来说配置上就要相对复杂一些. 但是,有时候我们会看到大牛们分享的经验里面是lvs+nginx作为负载均衡了,一直想不明白这是个什么道理. 为什么会出现两者被同时使用呢?其实,这要从两者的各自优势来说了. nginx用

搭建高性能web服务器之Nginx安装与配置说明(2.2)

<本章节介绍了如何获取Nginx以及如何配置.编译.安装运行Nginx.深入介绍了最为复杂的configure过程,以及编译Nginx相关参数的介绍> 上一章节,我们简单的了解Nginx安装前需要准备的依赖包以及先关系统内核优化参数,本章节我们就着实讲到nginx的安装过程,比如nginx安装的一些参数说明,安装过程中遇到的一些问题 一.源码安装nginx 1.1下载nginx源码包  我们可以在Nginx官方网站(http://nginx.org/en/download.html)获取Ngi