• Day06_nginx及反向代理、共享存储nfs


    一.nginx服务

    1. nginx服务
    2. 装nginx前线装epel-release:yum install epel-release -y(基于这个源安装nginx)
    3. 安装nginx:yum install nginx -y
    4. 修改配置文件:vim /etc/nginx/nginx.conf
      • 其中access_log 为运行日志
      • server 下的root 为网站下的根目录 例如:/usr/share/nginx/html
      • cd到root下 vim打开 index.html文件,用户访问时会下载此文件
      • url 统一资源定位符:例如 http://192.168.1.1:80 定位到软件
      • uri 统一资源标识符:例如 http://192.168.1.1:80/a/b/c.txt 定位到文件 文件路径为:/usr/share/nginx/html/a/b/c.txt
    5. 编辑index.html文件,并重启 systemctl [re]start nginx
      • systemctl status nginx 为检查服务状态
      • systemctl disable nginx 为开机不启动
      • systemctl enable nginx 为开机启动
      • systemctl reload nginx 为重新加载,读取配置文件
    6. 关闭防火墙:systemctl stop firewalld(或者iptables -F 清理防火墙规则)
      • 因自己实验多次仍会出现权限问题,多方查阅,有以下处理方法
      • SELinux设置为开启状态(enabled)的原因
        首先查看本机SELinux的开启状态,如果SELinux status参数为enabled即为开启状态
        /usr/sbin/ sestatus -v
        或者使用getenforce命令检查
        • 找到原因了,如何关闭 SELinux 呢
          1. 临时关闭(不用重启)
            setenforce 0
          2. 修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled
            vi /etc/ selinux/config
            注意:修改配置文件需要重启系统 reboot,之后再关闭防火墙即可。
    7. 即可访问
    8. nginx.conf文件
      1. location其中的"/"代表自定义的根目录,其中的{}可自己定义,例如 root /var/www/html;(注意以分号结尾)
      2. log_format 为日志格式

    二.nginx反向代理

    1. 正向代理和反向代理:
      • 代理:A访问B,A把自己的请求让C代理,C去访问B
      • 正向代理:A明确地知道自己的代理C的存在,A明确地指定自己的代理地址是C,让C去访问B,拿到结果再给A,通常用来FQ
      • 反向代理:用户请求发给nginx后,由nginx负载给代理的机器,拿到结果,再由nginx返回给客户端(如此,nginx便把一堆自己代理的机器隐藏到后端,外界访问的就是nginx)
    2. 负载均衡
      • round-robin:轮询,依次给代理服务器;
      • least-connected:最小链接数;
      • ip-hash:根据IP地址(与会话保持有关);
    3. 反向代理配置
      引用:nginx反向代理
      1. 负载均衡设置
        • http中的upstream :定义nginx需要管理的一组机器,组名为myapp1,server为代理服务器
        • location /中 修改为:proxy_pass http://myapp1;
      2. 最小连接数设置
        • 只需在server上一行 增加least_conn; 即可
      3. ip-hash设置
        • 只需在server上一行 增加ip_hash; 即可
      4. 权重设置
        • 需在server此行 增加weight=number 即可(number为权重为几次)

    三.共享存储nfs

    1. 安装
      1. 需先安装rpc协议软件包及nfs软件包:yum install rpcbind nfs-utils -y
    2. 配置
      1. 配置文件为 /etc/exports (这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容)
      2. /etc/exports文件内容格式:
        • <输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
        • 输出目录:输出目录是指NFS系统中需要共享给客户机使用的目录;
        • 客户端:客户端是指网络中可以访问这个NFS输出目录的计算机
        • 访问权限选项
          • 设置输出目录只读:ro
          • 设置输出目录读写:rw
        • 具体请见 第19单元NFS服务
          引用:nfs服务
      3. 修改配置
        • [root@MiWiFi-R3-srv nginx]# cat /etc/exports
        • /share 192.168.31.0/24(rw,sync,fsid=0)
          • 192.168.31.0/24:指定子网中的所有主机
          • sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
      4. 文件存储和块存储及对象存储
        • 块存储: 硬盘
        • 文件存储: 直接可以创建 增删改查
        • 对象存储: 创建 更改需要加载到本地 再上传
      5. 开权限(nfs开启了w权限还不行,others还需要对/share目录有w权限)
        • chmod -R o+w /share
      6. 开机启动
        1. systemctl enable nfs-server.service
        2. systemctl enable rpcbind.service
      7. 启动服务
        1. systemctl start rpcbind.service(必须先启动)
        2. systemctl start nfs-server.service
      8. 确认nfs服务器启动成功
        1. rpcinfo
        2. exportfs
        3. showmount -e #默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错
        4. showmount -a #显示已经与客户端连接上的目录信息
    3. 客户端配置
      1. yum install rpcbind nfs-utils -y:安装软件
      2. systemctl enable rpcbind.service && systemctl start rpcbind.service:开机启动
      3. showmount -e NFS服务器IP #检查 NFS 服务器端是否有目录共享
      4. mount -t nfs NFS服务器IP:/share /var/www/html/ :挂载
    4. 测试
      • 基于nginx的负载均衡配置,打开后端被代理服务的access.log日志,tail -f access.log来观察访问,访问LB刷新页面发现内容保持一致,但是每台被代理的机器的access.log日志都有新的内容进来
  • 相关阅读:
    用java开发图形界面项目,如何实现从本地选择图片文件并以二进制流的形式保存到MySQL数据库,并重新现实到面板
    算法练习LeetCode初级算法之数组
    算法练习LeetCode初级算法之字符串
    算法练习LeetCode初级算法之排序和搜索
    20169221 201620172 《网络攻防实践》第四周学习总结
    20169221 201620172 《网络攻防》 第三周学习总结
    20169221 201620172 《移动平台应用开发》 第二周学习总结
    20169221 201620172 《移动平台开发时间》 第一周学习总结
    20169221 201620172 《网络攻防实践》 第二周学习总结
    20169221 201620172 《移动平台开发时间》 第三周学习总结
  • 原文地址:https://www.cnblogs.com/sama/p/7854379.html
Copyright © 2020-2023  润新知