Nginx入门介绍与安装
Nginx是什么?
Nginx是俄罗斯人编写的十分轻量级的HTTP和反向代理服务器。发音:"engine X"
Nginx能干什么?
(1)Http反向代理
Nginx 支持正则表达式以区分静态资源或者动态资源,提供性能稳定,并且能够提供配置灵活的转发功能。 ,其中动态资源可以进一步转发给后端的 Proxy Server, 而静态资源则可以在 Nginx 层面使用本地缓存策略或者重定向(类 CDN)到其他 Nginx 上。
(2)负载均衡
目前Nginx支持以下几种的负载均衡的策略:
1,round-robin(轮询,默认策略)
每个请求轮询发送到不同的服务器上面,如果某台服务宕机了,nginx会自动剔除掉,并把请求给转发到正常的服务器上面。
2,least_conn
最少连接数
3,least_time
最少时间花费,nginx会选择延迟最低的服务器。header表示是计算从后台返回的第一个字节,last_byte计算的是从后台返回的所有数据时间
4,weight
如果服务器性能本身不太均衡,通过配置权重让资源配置更高的机器得到更多的流量
5,ip_hash
使用请求的ip的hash结果分配,这样每个用户会被分配在同一个后台服务器上面
6,fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配
github地址:https://github.com/gnosek/nginx-upstream-fair
7,url_hash(第三方)
基于url的hash进行分配
此外还有一些基于一致性hash和tcp负载的功能,感兴趣的朋友可以自己查阅资料。
(3)web缓存
Nginx可以对不同文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache.
尤其是前端开发的项目中,一些js,css,html,图片,视频,音频等资源可以作为静态资源发布,由nginx缓存以提升响应速度。
(4)其他
此外使用Nginx可以做一个简单的http的下载服务器,只要配置开启目录浏览功能即可实现。还有一些权限拦截功能,也可以使用Nginx来完成。
Nginx的安装
默认的centos是没有nginx的yum源,需要执行下面的命令:
- rpm -Uvh --force http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- yum install -y nginx
安装完成后,一些默认的目录如下:
- 网站默认站点配置的首页
- /usr/share/nginx/html
- 默认的nginx的配置目录
- /etc/nginx/conf.d/
- 默认的目录下面有一个配置模板,如果不需要,可以改后缀名不为conf ,然后重新reload即可
- /etc/nginx/conf.d/default.conf
- Nginx全局配置,主要的配置选项
- /etc/nginx/nginx.conf
- 默认的访问log
- /var/log/nginx/access.log
- 默认的错误log
- /var/log/nginx/error.log
- 默认的进程id
- /var/run/nginx.pid
一些常用命令:
- nginx -V 2>&1 | tr ' ' '\n' 查看安装的插件
- nginx -v 看版本
- nginx 启动
- nginx -s stop 快速停止
- nginx -s reload 重新加载
- nginx -t 查看配置文件是否有错误
执行nginx启动之后,访问ip的80端口,如果能看见下面的字样,就代表成功:
- Welcome to nginx!
- If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
- For online documentation and support please refer to nginx.org.
- Commercial support is available at nginx.com.
- Thank you for using nginx.
最后再介绍一个实用的功能,就是编辑nginx的conf文件默认是黑白颜色的,对视觉极其不友好,所以我们需要安装一个支持nginx的conf文件语法高亮的插件:
- wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim
- mkdir -p ~/.vim/syntax
- mv nginx.vim ~/.vim/syntax/
- vim ~/.vim/filetype.vim
- 粘贴下面的内容到里面去:
- au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif
最后退出终端,重新登录即可
Nginx入门介绍与安装的更多相关文章
- Nginx的介绍和安装详解
[介绍+安装]Nginx的介绍和安装详解 == 介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx ...
- nginx入门系列之安装与卸载
目录 通过包管理器安装 安装nginx 卸载nginx 从源码编译安装 准备安装环境 执行编译安装 制作nginx免安装包 官方安装手册:https://nginx.org/en/docs/insta ...
- nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解
nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...
- 【介绍+安装】Nginx的介绍和安装详解
== 介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx以其高性能.稳定.功能丰富.配置简单及占用系统 ...
- Docker入门-介绍和安装
Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...
- ElasticSearch入门介绍之安装部署(二)
散仙,在上篇文章对ElasticSearch整体入门作了个介绍,那么本篇我们来看下,如何安装,部署es,以及如何安装es的几个比较常用的插件. es的安装和部署,是非常简单方便的,至少这一点散仙在es ...
- MongoDB入门(介绍、安装、增删改查)
文章作者公众号bigsai,已收录在回车课堂,如有帮助还请不吝啬点个赞赞支持一下! 课程导学 大家好我是bigsai,我们都学过数据库,但你可能更熟悉关系(型)数据库例如MySQL,SQL SERVE ...
- Node.js包管理器Yarn的入门介绍与安装
FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...
- nginx入门之编译安装
nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...
随机推荐
- bash的使用
转自:http://blog.csdn.net/y2888886/article/details/50535033 在上篇博文的基础上做如下修改 注意一些常见命令中间就要加 “ ” ,否则很多命令无法 ...
- 如何在C#中读写INI文件
INI文件就是扩展名为"ini"的文件.在Windows系统中,INI文件是很多,最重要的就是"System.ini"."System32.ini&q ...
- iphone配置实用工具iPhone Configuration Utility
下载地址 http://support.apple.com/kb/DL1466 安装完毕后,在设备->控制台,可以很方便看到报错信息
- 原生的ado.net(访问sql server数据库)
本文介绍原生的ado.net(访问sql server数据库) 写在前面 数据库连接字符串 过时的写法 string str = "server=localhost;database=my_ ...
- JavaScript基本概念B - 关于方法
方法也是对象 这个事需要反复强调.方法是 类型 Function 的对象,和其他对象一样,它也有方法. function gen() { return function ans(factor) { r ...
- java selenium webdriver第二讲 页面元素定位
自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选 ...
- python 2.7.5升级到3.4.x
wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz .tgz cd Python-/ Python ./configure ma ...
- DAY16-Django之model
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- 全局事务/分布式事务 (Global Transaction/ A distributed transaction)之我见
这里参考的是Oracle对于XA的支持,其他的应该雷同吧... 1个分布式事务由多个行为在不同的数据库上执行,1个分布式事务的执行成功意味着相关数据库上的行为执行均成功.“XA协定”(http://w ...
- 最短路dijkstra堆优化
demo: #include<bits/stdc++.h> #define max_v 102000 #define inf 0x3f3f3f3f using namespace std; ...