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地址是否有界面出来

    在这里插入图片描述

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地址是否有界面出来

    在这里插入图片描述

正向代理

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

在这里插入图片描述

反向代理

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

在这里插入图片描述

  • location正则

    注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

    • 在这里插入图片描述
    1. = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
      成功,就停止继续向下搜索并立即处理该请求。
    2. ~:用于表示 uri 包含正则表达式,并且区分大小写。
    3. ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
    4. ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
      符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
      块中的正则 uri 和请求字符串做匹配。
反向代理实例1

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

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

    在这里插入图片描述

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

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

  4. 配置反向代理

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

      在这里插入图片描述

    • 配置防火墙

      • 开启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. 给每台服务器, 添加界面
      • 在这里插入图片描述
      • 在这里插入图片描述
  2. 配置防火墙

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

    • 在这里插入图片描述
    • 重新加载nginx
  4. 访问界面

    • 在这里插入图片描述
    • 在这里插入图片描述
负载均衡

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

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

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

  1. 准备工作

    • 准备两台tomcat 服务器, 一台8080, 一台8081
    • 两台服务器文件
      • 在这里插入图片描述
  2. nginx配置

    • nginx 分配服务器策略

      • 第一种 轮询(默认)
        每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
      • 第二种 weight
        weight 代表权重默认为 1, 权重越高被分配的客户端越多
      • 第三种 ip_hash
        每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题
      • 第四种 fair (第三方)
        按后端服务器的响应时间来分配请求,响应时间短的优先分配。
    • 在这里插入图片描述

    • 重新加载nginx

  3. 页面显示

    • 在这里插入图片描述
动静分离

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

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

在这里插入图片描述

  1. 准备工作
    • 在linux系统中准备静态资源
      • 在这里插入图片描述
    • nginx配置
      • 在这里插入图片描述
    • 访问界面
      • 在这里插入图片描述
      • 在这里插入图片描述

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值