一:nginx 环境搭建

官方文档

http://nginx.org/en/docs/http/ngx_http_core_module.html#var_args

四项确认

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

查看iptables规则

iptables -L

关闭iptables规则

iptables -F

获得当前selinux状态

getenforce

关闭selinux

setenforce 0

关闭防火墙

# 关闭防火墙
systemctl stop firewalld.service
# 设置开机不起动
systemctl disable firewalld.service

  

两项依赖安装  

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和动静分离服务时有很大优势。

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

  1. Nginx 安装、配置及相关介绍

    一.前言 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.是一款轻量型的Web服务器,其特点是占有内存少,并发能力强,对负载均衡等提供了非常方 ...

  2. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  3. Nginx安装配置介绍(二)

    一:Nginx安装(Windows) 官网地址:https://nginx.org/en/download.html 解压完成后,文件目录如下: 启动Nginx: 直接双击目录下的nginx.exe, ...

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

    前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和 ...

  5. Nginx安装及配置

    Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...

  6. CentOS 6.5结合busybox完成自制Linux系统及远程登录和nginx安装测试

    前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细和深入的来谈谈Linux系统的详细定制过程和实 ...

  7. lunix nginx安装 报错页面 状态码

    web服务器软件IIS  (windows底下的web服务器软件) Nginx (Linux底下新一代高性能的web服务器)  Tengine   www.taobao.com  这是淘宝 Apach ...

  8. Windows下将nginx安装为服务运行

    今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...

  9. Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

随机推荐

  1. 0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway网关实例

    gateway就是用来替换zuul的,功能都差不多,我们看下它怎么来跟nacos一起玩.老套路,三板斧: 1.pom: <?xml version="1.0" encodin ...

  2. Spring cloud微服务安全实战-_5-10实现基于session的SSO(Token有效期)

    refresh_token过期了怎么办,虽然可以设置一个比较长的有效期,但是终归还是要过期的. 只能从认证服务器重新走认证授权的流程. 两种情况 1,session还没过期的,跳过去之后,直接就知道你 ...

  3. Qt编写气体安全管理系统6-地图监控

    一.前言 地图监控主要是提供一个地图(可以是平面的也可以是立体彩色的,一般建议鸟瞰图,有3D感),然后设备在对应的地图上,可以切换地图来查看对应区域的设备,一般来说一个区域会有一个地图文件,设备在地图 ...

  4. 123457123456#0#----com.DoraGame.ErTongFanPai97--前拼后广--记忆翻牌-doraX

    com.DoraGame.ErTongFanPai97--前拼后广--记忆翻牌-doraX

  5. 在 ServiceModel 客户端配置部分中,找不到引用协定“WebServiceSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素找不到与此协定匹配的终结点元素(转)

    按语: 在项目中实现自动升级过程,在类库中调用webservice取升级update.xml文件,添加服务调用,但在类库中调用时就出现异常,但在简单的测试工程中没有问题.解决方法采用下面介绍的方法 在 ...

  6. C# log4net 配置及使用详解--日志保存到文件和Access(转)

    按语: 最近项目要求选用Access数据库,但日志管理采用log4net,但保存到数据库一直没有成功,后按照如下配置在程序退出时可以成功保存. 开始新建文件应用log4net.dll  ,重新编译就报 ...

  7. k8s中configmap的使用方法

      ConfigMaps允许您将配置构件与映像内容解耦,以保持容器化应用程序的可移植性.本文展示如何创建configmap,修改configmap以及如何把configmap应用于pod. 创建con ...

  8. logstash 和filebeat 是什么关系

    因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder.不过作者只是一个人,加入http://el ...

  9. Flutter状态管理之provide和provider的使用区别

    说道状态管理不得不说谷歌的亲自开发的两款状态管理Widget:第一个是provide,第二个是provider. 这两个的区别就是一个出来的早,现在好像没整么更新了.第二个是2019才出来的目前的版本 ...

  10. Swoole练习 Web

    WEB 服务端代码 $http = new swoole_http_server("0.0.0.0", 9501); $http->on('request', functio ...