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源,需要执行下面的命令:

  1. rpm -Uvh --force http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  2.  
  3. yum install -y nginx

安装完成后,一些默认的目录如下:

  1. 网站默认站点配置的首页
  2. /usr/share/nginx/html
  3.  
  4. 默认的nginx的配置目录
  5. /etc/nginx/conf.d/
  6.  
  7. 默认的目录下面有一个配置模板,如果不需要,可以改后缀名不为conf ,然后重新reload即可
  8. /etc/nginx/conf.d/default.conf
  9.  
  10. Nginx全局配置,主要的配置选项
  11. /etc/nginx/nginx.conf
  12.  
  13. 默认的访问log
  14. /var/log/nginx/access.log
  15.  
  16. 默认的错误log
  17. /var/log/nginx/error.log
  18.  
  19. 默认的进程id
  20. /var/run/nginx.pid

一些常用命令:

  1. nginx -V 2>&1 | tr ' ' '\n' 查看安装的插件
  2.  
  3. nginx -v 看版本
  4.  
  5. nginx 启动
  6.  
  7. nginx -s stop 快速停止
  8.  
  9. nginx -s reload 重新加载
  10.  
  11. nginx -t 查看配置文件是否有错误

执行nginx启动之后,访问ip的80端口,如果能看见下面的字样,就代表成功:

  1. Welcome to nginx!
  2.  
  3. If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
  4.  
  5. For online documentation and support please refer to nginx.org.
  6. Commercial support is available at nginx.com.
  7.  
  8. Thank you for using nginx.

最后再介绍一个实用的功能,就是编辑nginx的conf文件默认是黑白颜色的,对视觉极其不友好,所以我们需要安装一个支持nginx的conf文件语法高亮的插件:

  1. wget http://www.vim.org/scripts/download_script.php?src_id=14376 -O nginx.vim
  2.  
  3. mkdir -p ~/.vim/syntax
  4.  
  5. mv nginx.vim ~/.vim/syntax/
  6.  
  7. vim ~/.vim/filetype.vim
  8.  
  9. 粘贴下面的内容到里面去:
  10.  
  11. au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif

最后退出终端,重新登录即可

Nginx入门介绍与安装的更多相关文章

  1. Nginx的介绍和安装详解

    [介绍+安装]Nginx的介绍和安装详解   == 介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx ...

  2. nginx入门系列之安装与卸载

    目录 通过包管理器安装 安装nginx 卸载nginx 从源码编译安装 准备安装环境 执行编译安装 制作nginx免安装包 官方安装手册:https://nginx.org/en/docs/insta ...

  3. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  4. 【介绍+安装】Nginx的介绍和安装详解

    == 介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx以其高性能.稳定.功能丰富.配置简单及占用系统 ...

  5. Docker入门-介绍和安装

    Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...

  6. ElasticSearch入门介绍之安装部署(二)

    散仙,在上篇文章对ElasticSearch整体入门作了个介绍,那么本篇我们来看下,如何安装,部署es,以及如何安装es的几个比较常用的插件. es的安装和部署,是非常简单方便的,至少这一点散仙在es ...

  7. MongoDB入门(介绍、安装、增删改查)

    文章作者公众号bigsai,已收录在回车课堂,如有帮助还请不吝啬点个赞赞支持一下! 课程导学 大家好我是bigsai,我们都学过数据库,但你可能更熟悉关系(型)数据库例如MySQL,SQL SERVE ...

  8. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  9. nginx入门之编译安装

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

随机推荐

  1. DataX实现oracle到oracle之间的数据传递

    首先需要注意的是DATAX是通过JDBC的方式读取ORACLE数据,然后通过OCI的方式写数据,DX也可以通过JDBC写的方式进行,但是OCI比JDBC速度更快.   进入DataX安装目录的bin目 ...

  2. 机器学习:线性回归法(Linear Regression)

    # 注:使用线性回归算法的前提是,假设数据存在线性关系,如果最后求得的准确度R < 0,则说明很可能数据间不存在任何线性关系(也可能是算法中间出现错误),此时就要检查算法或者考虑使用其它算法: ...

  3. HTTP请求常见错误大全

    常见的Http请求错误提示 1xx - 信息提示这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应.100 - 继续101 - 切换协议 2xx - 成功这类状态 ...

  4. Spring MVC配置详解(1)

    web.xml的配置 <!-- 配置前端控制器 前端控制器(DispatcherServlet)--> <servlet> <servlet-name>spring ...

  5. 新版本Ubuntu本地提权漏洞复现

    该漏洞在老版本中被修复了,但新的版本还存在漏洞 影响范围:Linux Kernel Version 4.14-4.4,Ubuntu/Debian发行版本 Exp下载地址:http://cyseclab ...

  6. CentOS 7.2 部署Rsync + Lsyncd服务实现文件实时同步/备份 (二)

    发送端配置: 一.配置密钥 1. 主/从服务器之间启用基于密钥的身份验证.登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥. 2. 使用 " ...

  7. CentOS6.5 释放SWAP

      虚拟内存的释放一般都是伴随着关闭应用程式来说的   可以通过命令刷新swap还原到初始状态: swapoff -a swapon -a     例如: [root@wjlcn1026 vm]# f ...

  8. struts2学习笔记(5)拦截器

    继承AbstractInterceptor类,在类中完成拦截器的功能,只需实现intercept方法即可,提供了init()和destroy()的空实现 示例:显示执行action所用的时间 ①在sr ...

  9. strophe与openfire模拟的XMPP简单hello程序

    /* * 参考<XMPP高级编程+使用JavaScript和jQuery>第三章例子. * 我修改了作者的XMPP服务器到本地的openfire.JavaScript跨域请求,使用Ngin ...

  10. 第二天:tomcat体系结构和第一个Servlet

    1.  打war包 2.  Tomcat体系再说明:   问题:如何去配置默认主机???    3.tomcat和servlet在网络中的位置 4.    servlet快速入门案例   1).开发s ...