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性 ...
随机推荐
- Spark on yarn的两种模式 yarn-cluster 和 yarn-client
从深层次的含义讲,yarn-cluster和yarn-client模式的区别其实就是Application Master进程的区别,yarn-cluster模式下,driver运行在AM(Applic ...
- Day2-Python基础2---列表、元组操作
一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ["maqing"," peilin" ...
- mysql高可用集群——MHA架构
目录1.下载2.搭建mha 2.1 系统配置 2.2 架构 2.3 添加ssh公钥信任 2.4 安装mha节点 2.5 manager配置文件 2.6 检查 2.7 启动manager进程 2.8 碰 ...
- 2016.5.30实现透明Panel及控件置顶的方法
想放置一个透明Panel在某控件上端,实现效果是可透过此Panel看见下面控件,但鼠标点击却无任何反应. 1.新建置自定义Panel类 using System; using System.Colle ...
- Howto Reboot or halt Linux system in emergency (ZT)
http://www.cyberciti.biz/tips/reboot-or-halt-linux-system-in-emergency.html Linux kernel includes ma ...
- xcode编写c/c++静态库使用系统头文件问题
c/c++编写的静态库中有引用ios系统头文件比如: #include <EGL/egl.h> 在xcode编译的时候需要设置静态库程序: Build Settings-Header Se ...
- equals()与hashCode()方法详解
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
- hibernate学习笔记(2)持久化类测试
持久化类的创建: 创建一个共有的不带参数的构造方法: public void Students(){ } 创建一个带参数的构造方法: (快捷键创建) 生成get,set方法: *可以不用此方法创建持久 ...
- apt-cyg update --2017-02-17 07:57:24-- http://mirrors.163.com/cygwin//x86_64/setup.bz2 正在解析主机 mirrors.163.com... 123.58.173.185, 123.58.173.186 正在连接 mirrors.163.com|123.58.173.185|:80... 已连接。 已发出 HTT
apt-cyg update ---- ::-- http://mirrors.163.com/cygwin//x86_64/setup.bz2 正在解析主机 mirrors.163.com... 1 ...
- while 用法 for 循环的总结
格式化输出.%s %d # name = input('请输入名字:') # age = input('请输入年龄:') # sex = input('请输入性别:') # # msg = '我的名字 ...