Nginx 安装 和 特性介绍
一: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亲和
原因四:sendfile
ginx采用sendfile机制处理静态文件,因此效率很高。
上图是传统的http服务,当我们访问一个文件时,会先经过内核空间,再经过用户空间,传给socket,最后通过response返回给用户。该过程需要多次与用户空间进行切换,但是静态文件其实不需要与用户空间进行过多的逻辑处理。直接可以通过内核空间传输。
sendfile机制只通过内核空间,将文件传给socket,最终响应给用户。
因此nginx在处理CDN和动静分离服务时有很大优势。
Nginx 安装 和 特性介绍的更多相关文章
- Nginx 安装、配置及相关介绍
一.前言 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.是一款轻量型的Web服务器,其特点是占有内存少,并发能力强,对负载均衡等提供了非常方 ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- Nginx安装配置介绍(二)
一:Nginx安装(Windows) 官网地址:https://nginx.org/en/download.html 解压完成后,文件目录如下: 启动Nginx: 直接双击目录下的nginx.exe, ...
- CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试
前言 系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和 ...
- Nginx安装及配置
Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...
- CentOS 6.5结合busybox完成自制Linux系统及远程登录和nginx安装测试
前言 系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细和深入的来谈谈Linux系统的详细定制过程和实 ...
- lunix nginx安装 报错页面 状态码
web服务器软件IIS (windows底下的web服务器软件) Nginx (Linux底下新一代高性能的web服务器) Tengine www.taobao.com 这是淘宝 Apach ...
- Windows下将nginx安装为服务运行
今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以 ...
- Linux下查看Nginx安装目录、版本号信息?
Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...
随机推荐
- Qt编写气体安全管理系统11-数据打印
一.前言 在各种软件系统中,数据打印也是常用的功能之一,一般来说会对查询的数据结果导出到excel,还会对查询的数据结果直接打印,在Qt中提供了打印机类QPrinter,在printsupport组件 ...
- Centos7 手动编译 RabbitMQ ,并安装php amqp
RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统,底层基于Erlang语言. 一:centos7安装RabbitMQ 这玩意儿安装很扯淡,官方推荐rpm安装,rpm安装本身是最简单的 ...
- 123457123456#0#----com.DoraGame.YingYu65--前拼后广--儿童英语doraX
com.DoraGame.YingYu65--前拼后广--儿童英语doraX
- Redis的特性及运用
Redis特性 一个产品的使用场景肯定是需要根据产品的特性,先列举一下Redis的特点: 读写性能优异 持久化 数据类型丰富 单线程 数据自动过期 发布订阅 分布式 这里我们通过几个场景,不同维度说下 ...
- macos的iptables功能是pfctl
pfctl https://www.kokaruk.com/macos-pf-firewall/ https://blog.csdn.net/yjy1304/article/details/90762 ...
- Head First Design Patterns HeadFirst 设计模式
OO原则是我们的目标,而设计模式是我们的做法. 策略模式 (Strategy) 在软件开发上,一直不变的真理是"change".不管软件设计的多好,一段时间之后,总是要成长与改变, ...
- Makefile中宏定义
实际上是gcc命令支持-D宏定义,相当于C中的全局#define: gcc -D name gcc -D name=definition Makefile中可以定义变量(和宏很像),但是是给make解 ...
- docker 使用阿里云镜像加速
1.登录阿里云 2.进入控制台 3.搜索 “容器镜像服务” 下拉点击 “镜像加速器” 复制自己的私有地址 进入自己的docker宿主机器(替换下面的地址为自己的私有地址) 修改daemon配置文件/e ...
- Collectd 和 InfluxDB 的部署和使用
更新软件包 $ sudo apt-get update$ sudo apt-get upgrade$ sudo reboot 安装influxdb hanwei@ubuntu-lab:~$ wget ...
- C++_没有STL不能解决的问题之——<algorithm>
这个坑好大,慢慢写 一.非修改式序列操作 1.find() 在区间中查找出某元素第一次出现的位置(注意!!是返回地址值) int main(){ ]={,,,,,}; int *b; b=find(a ...