1、nginx安装

dnf install nginx -y

2、nginx常用目录

nginx.conf目录:/etc/nginx.nginx.conf

nginx启动目录:/usr/sbin/nginx

3、nginx热部署

所谓热部署,就是配置文件nginx.conf修改后,不需要stop Nginx,不需要中断请求,就能让配置文件生效!

/usr/sbin/nginx -s reload

4、配置nginx 访问资源目录

修改 nginx.conf 配置文件,在service标签内部加入下面的location,通过访问 ip地址:端口/source 就能访问  /home/source  目录了。

location /source {
  root /home;
  autoindex:on;
}

还可以有如下写法:

location /source {
  alias /home/source;
  autoindex:on;
}

5、反向代理

听着反向代理是不是很牛逼的事,实际上很容易理解:

正向代理:A要访问C的地址,但是由于网络或是墙的问题,A不能直接访问到C,但是呢有个B可以访问C,A也可以访问B,那么A在访问C的时候通过B代理,这就是正向代理。
A ---/---> C ;  A ------> B ; B ------> C ;那么 A ------> B ------> C

反向代理:A要访问C的地址,但是由于网络或安全的问题,A不能直接访问到C,但是呢有个B可以访问C,A也可以访问B,那么A在访问C的时候通过B代理,这就是正向代理。
A ---/---> C ;  A ------> B ; B ------> C ;那么 A ------> B ------> C

通过上面的示例是不是觉得 正向代理和反向代理一样?

对,确实原理一样,但是有有个明显的差别就是:

在正向代理中 A访问C,A是明确知道C的地址(要想访问www.google.com)。B相当于是访问的介质。

在反向代理中A访问C,A只知道B的地址不知道C的地址,当A访问B的时候由B请求C之后把请求结果返回给A。

配置方法很简单:把root换成proxy_pass , 路径换成网络地址。

location /WeChatApp {
  proxy_pass http://localhost:8878/;
}

6、负载均衡

复制均衡听着是不是也很NB,其实原理也非常简单,因为由反向代理,A只用访问B就行了,那么至于B要访问多少个C那是可以配置的:

比如说 由于用户量激增,需要新增服务器来部署应用应对并发访问,这时用户访问的还是B地址,只有配置B把请求分发给对台服务器应用,就能应对并发操作,这就是负载均衡。

在server标签外面添加:

upstream myserver{
server http://192.168.1.40:8080;
server http://192.168.1.45:8480;
}

在server标签内添加:

location /WeChatApp {
  proxy_pass http://myserver;
}

这样就把请求分发到不同的应用去处理了。

7、动静分离

牛逼的名称又来了,动静分离就是把通过反向代理,针对不同的资源配置不同的访问方式。

比如说查询用户列表需要查询数据库,需要组织返回的数据结构,这就是一个动态请求。
比如要访问图片、pdf文件...这些静态资源这一个静态请求。

那么针对不同的接口做不同的配置就实现了动静分离:

# 访问  动态资源
location /WeChatApp {
  proxy_pass http://localhost:8878/;
} #访问 /home/image 静态资源目录
location /image {
  root /home;
  autoindex:on;
}

8、高可用的集群

通过nginx做代理 进行负载均衡就会出现一个问题,就是nginx服务器挂掉之后,它代理的接口地址都不能访问了。

为了解决这个问题就需要配置一个高可以的集群,原理很简单,就是在另一台服务器其上部署一个相同配置的nginx服务器,这样主nginx服务器挂掉之后,副的nginx服务器补上。

主流方案是Keepalived+Nginx实现双机热备。

CentOS8 下Nginx使用教程的更多相关文章

  1. linux下Nginx服务器安装教程

    序:Nginx服务器安装总结而已,不是教程. 安装的过程中出现了一些问题,原因我的云主机是纯净版,所以很多依赖包都没有.其中安装过程中就发现perl库缺少和openssl库缺少,因此我手动安装的这两款 ...

  2. centos7.2下nginx安装教程

    1.准备工作 1)关闭iptables 关闭操作 iptables -t nat -F 查看操作 iptables -t nat -L 2)关闭selinux 查看操作 setenforce 关闭操作 ...

  3. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  4. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  5. Windows下Nginx Virtual Host多站点配置详解

    Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...

  6. Linux下 nginx + 最新版php5.5 安装配置详解

    1.nginx的安装: 首先nginx的安装需要依赖最基础的三个包,这里面我们不设计更多的扩展模块,只是安装最基础的三个包, zlib 此包主要是对http内容进行gzip压缩,减少网络传输流量 PC ...

  7. Nginx教程(一) Nginx入门教程

    Nginx教程(一) Nginx入门教程 1 Nginx入门教程 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.由 ...

  8. [Linux] 一个前端必会的 Nginx 免费教程-在虚拟机中用deepin测试

    原文技术胖的 nginx 技术胖 专注于前端开发 deepin Linux Deepin 是一个基于 DEB 包管理的一个独立操作系统,和那些 Ubuntu(下个大版本是基于 debian 开发) 的 ...

  9. linux下nginx【反向代理】配置【负载均衡】配置

    nginx 可以配置多个端口: 1.10088端口 配置反向代理,消除跨域问题. 2.10087端口 配置ip_hash模式的负载均衡,ip_hash可以绕开解决session共享的问题. nginx ...

随机推荐

  1. C和指针课后练习题3

    1.在你的机器上,字符的范围有多大?有那些不同的整数类型以及他们的范围? C语言中数据输入输出格式: %d 有符号10进制整数%i 有符号10进制整数%o 无符号8进制整数%u 无符号10进制整数%x ...

  2. PyQt(Python+Qt)学习随笔:QDockWidget停靠窗toggleViewAction方法的作用

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 toggleViewAction方法返回一个动作对象,该动作对象通过点 ...

  3. PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中使用findItems搜索项

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTreeWidget类实例的树型部件中,可以根据文本.搜索列以及匹配模式来搜索满足条件的项,调用 ...

  4. PyQt(Python+Qt)学习随笔:部件的大小策略sizePolicy的含义

    在Qt Designer中的每个部件,除了设置部件的位置(geometry)之外,还可以指定部件的大小策略sizePolicy.部件的sizePolicy用于说明部件在布局管理中的缩放方式,当部件没有 ...

  5. PyQt(Python+Qt)学习随笔:Qt Designer中Action关联menu菜单和toolBar的方法

    1.Action关联菜单 通过菜单创建的Action,已经与菜单自动关联,如果是单独创建的Action,需要与菜单挂接时,直接将Action Editor中定义好的Action对象拖拽到菜单栏上即可以 ...

  6. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

  7. RedHat操作指令第2篇

    六.RPM包管理命令 主要功能 查询RPM软件.包文件的相关信息 安装.升级.卸载RPM软件包 维护RPM数据库信息 查询RPM软件信息 查询已安装的RPM软件信息 格式:rpm -q[子选项] [软 ...

  8. 抖音CK备份上号原理

    抖音CK备份和上号是点赞跳频繁上号的最好方式,不会的可以访问网站:rz3w.com,下面介绍备份还原的原理:public void run() { MainActivity.a(this.c); ne ...

  9. es6 数组新增方法

    1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = {      "0":"TangSir&quo ...

  10. NPM相关知识点

    1.Windows环境变量的配置 npm config set prefix "D:\Program Files\nodejs\node_global" npm config se ...