centos7 nginx安装及其使用

ifconfig看不到ip地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33
onboot =no 改成 yes
然后重启网络 sudo service network restart

nginx的安装

  1. 下载nginx(nginx-1.12.2.tar.gz)

  2. 安装并启动nginx

    1. 进入/usr/src, 将安装包复制进来

    2. tar -xvf nginx-1.12.2.tar.gz解压

    3. cd nginx-1.12.2/

    4. ./configure 检测

      • 提示错误 “./configure: error: C compiler cc is not found”

      • 解决 yum -y install gcc gcc-c++ autoconf automake make

      • 再次运行 ``./configure`

    5. make && make install 安装

      • 提示错误 make: *** 没有规则可以创建“default”需要的目标“build”。

        • 安装相关依赖包 yum install pcre-devel zlib zlib-devel openssl openssl-devel

        • 最后 make && make install

  3. 进入目录 /usr/local/nginx/sbin/nginx

    • 启动nginx ./nginx
    • 关闭nginx ./nginx -s stop
    • 重新加载nginx ./nginx -s reload
  4. 配置防火墙

    1. 查看开放的端口号 firewall-cmd --list-all
    2. 配置80端口 firewall-cmd --add-port=80/tcp --permanent
    3. 重新加载防火墙 firewall-cmd --reload
  5. 浏览器输入 ip地址是否有界面出来

    centos7 nginx安装及其使用

tomcat的安装

  1. 下载tomcat(apache-tomcat-7.0.100.tar.gz)

  2. 安装并启动tomcat

    • 进入 /usr/src, 将安装包复制进来
    • tar -xvf apache-tomcat-7.0.100.tar.gz解压
    • cd apache-tomcat-7.0.100/bin
    • 启动服务器./startup.sh
  3. 配置防火墙

    • tomcat默认是8080端口
    • 配置80端口 firewall-cmd --add-port=8080/tcp --permanent
    • 重新加载防火墙 firewall-cmd --reload
  4. 浏览器输入 ip地址是否有界面出来

    centos7 nginx安装及其使用

正向代理

需要在客户端配置代理服务器进行指定网站访问

centos7 nginx安装及其使用

反向代理

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只
需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返
回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器
地址,隐藏了真实服务器 IP 地址。

centos7 nginx安装及其使用

反向代理实例1

需求: 通过访问http://www.123.com网址访问tomcat(http://192.168.136.129:8080)

  1. 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

    centos7 nginx安装及其使用

  2. 加上一行 192.168.136.129 www.123.com

  3. 通过访问 http://www.123.com 访问, 显示nginx界面

  4. 配置反向代理

    • 编辑配置文件 vi /usr/local/nginx/conf/nginx.conf

      centos7 nginx安装及其使用

    • 配置防火墙

      • 开启8080端口 firewall-cmd --add-port=8080/tcp --permanent
      • 重新加载防火墙 firewall-cmd --reload
    • 重新加载

      • cd /usr/local/nginx/sbin
      • ./nginx -s stop => ./nginx 或者 ./nginx -s reload
反向代理实例2

需求: 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
nginx 监听端口为 8888

访问 http://192.168.136.129:8888/chen/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.136.129:8888/jiang/ 直接跳转到 127.0.0.1:8081

  1. 准备工作

    1. 准备两台tomcat服务器, 一台8080端口, 一台8081端口
    2. 给每台服务器, 添加界面
      • centos7 nginx安装及其使用
      • centos7 nginx安装及其使用
  2. 配置防火墙

    • 开启对应端口
    • 重新加载防火墙
  3. 反向代理配置

    • centos7 nginx安装及其使用
    • 重新加载nginx
  4. 访问界面

    • centos7 nginx安装及其使用
    • centos7 nginx安装及其使用

负载均衡

我们首先想到的可能是升级服务器的配置,比如提高 CPU 执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的*物理配置,都是不能够满足需求的。那么怎么办呢?

上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题
的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

需求: 浏览器地址栏输入地址 http://192.168.136.129/fzjh/demo.html 负载均衡效果,平均 8080 和 8081

  1. 准备工作

    • 准备两台tomcat 服务器, 一台8080, 一台8081
    • 两台服务器文件
      • centos7 nginx安装及其使用
  2. nginx配置

    • nginx 分配服务器策略

      • 第一种 轮询(默认)
        每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
      • 第二种 weight
        weight 代表权重默认为 1, 权重越高被分配的客户端越多
      • 第三种 ip_hash
        每个请求按访问 ip 的 的 hash 结果分配,这样每个访客固定访问一个后端服务器
      • 第四种 fair (第三方)
        按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    • centos7 nginx安装及其使用

    • 重新加载nginx

  3. 页面显示

    • centos7 nginx安装及其使用

动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速
度。降低原来单个服务器的压力。

通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏
览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源
设定一个过期时间,也就是说无需去 服务端验证,直接通过浏览器自身确认是否过期即可,
所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,
不建议使用 Expires 来缓存),我这里设置 3d ,表示在这 3 天之内访问这个 URL ,发送一
个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304 ,
如果有修改,则直接从服务器重新下载,返回状态码 200

centos7 nginx安装及其使用

  1. 准备工作
    • 在linux系统中准备静态资源
      • centos7 nginx安装及其使用
    • nginx配置
      • centos7 nginx安装及其使用
    • 访问界面
      • centos7 nginx安装及其使用
      • centos7 nginx安装及其使用

参考视频: https://www.bilibili.com/video/av68136734