• Linux基础(4)


    Linux基础(四)

    通过前面的知识的学习,来现学现卖咯!

    1、题目:集群搭建

    1.1、部署nginx反向代理三个web服务,调度算法使用加权轮询;

    1.2、所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性;

    这个怎么实现呢?

    先介绍一下nginx,Nginx 是一个 web 服务器。它类似于 Lighttpd,作为轻量级的 web server,可以替代重量级的 Apache/IIS。Nginx 专为性能优化而开发,是一个快速且能经受高负载考验的 web server。

    再来介绍一下两个概念正向代理和反向代理的概念和原理

    正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

    反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。

      

    1.1、部署nginx反向代理三个web服务,调度算法使用加权轮询;实现步骤入下所示:

    nginx服务器安装

    1. 先安装epel-release

    yum install epel-release -y #epel是centos等衍生发行版,用来弥补centos内容更新有时比较滞后或是一些扩展的源没有.
    View Code

    2.开始安装nginx

     yum install nginx  #安装nginx
    View Code

    3.查看nginx的配置信息

    cat /etc/nginx/nginx.conf   #查看信息
    
    vim /etc/nginx/nginx.conf   #可修改配置文件
    View Code

    4.安装rpcbind和nfs

    yum install rpcbind nfs-utils -y  #vim /etc/init.d/rpcbind 可以查看详细信息 ;说白了就是一个RPC服务,主要是在nfs共享时候负责通知客户端,服务器的nfs端口号的。简单理解rpc就是一个中介服务。
    View Code

    5.重点来了!!!安装完之后不要以为大功告成了,还有一些操作要做,不然后面的结果咋都出不来

    systemctl stop firewalld.service  #安装完nginx之后首先要做的就是先关闭防火墙的操作
    
    nginx  systemctl restart nginx  #启动nginx
    
    
     nginx -s stop      #停止nginx
    
    netstat -anpt | grep 80  #查看nginx的运行状态
    View Code

    这就是启动正常运行的状态。

    6.实现集群搭建工作(由于本人电脑问题只能启用一个web端)

    修改web端中nginx的配置文件

    主要修改的地方也就是location的位置

    location /{
          root /var/www/index.html;
          index index.html;
    }
    View Code

    7.创建在网站上要展示的内容

    就在网站上显示:wb1

    vim /var/www/index.html  #创建这个文件,在其中写入web1
    View Code

    8.在网站上输入此WEB1的IP就可显示想要显示的内容咯!

    9.实现反向代理三个web服务

    在服务端修改配置文件

    1.在HTML中加上一下段落
        HTML{
    
           upstream Pythonweb{
    
           server 192.168.205.129  weight = 3; #权重
            server 192.168.205.129;
            server 192.168.205.129;      #本人机器不求行,so就启动一个web
    }
    
    }
    
    2.在location 中加入一段
     
    location / {
         
          proxy_pass htpp://Pythonweb;
    } 
    View Code

    在网站上输入此服务端的IP地址点刷新就可以了(本人机器的问题,只显示web1)

    关于其余的调度算法有兴趣的可以参看:http://nginx.org/en/docs/http/load_balancing.html

    1.2、所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性;

    1.2.1  建一个share目录

    mkdir /share  #创建一个目录
    touch /share/share.txt  #在share目录下创建一个share.txt文件
    echo  gongxing >/share/share.txt  #在文件中写入内容gongxing
    vim /etc/exports   #查看配置文件exports.  用户可以把需要共享的文件系统直接编辑到/etc/exports文件中,这样当NFS服务器重新启动时系统就会自动读取/etc/exports文件,从而告诉内核要输出的文件系统和相关的存取权限。在下面的例子中显示了/etc/exports文件中几个条目项的内容,被挂载在/pub目录下的文件系统具有只读访问权限,所有的计算机在访问文件系统的时候不必经过安全检查。
    View Code

          1.2.2 配置文件内容(/etc/exports)

    /share 192.168.205.0/24(rw,sync,fsid=0)
    View Code

          

         1.2.3.启动服务       

    systemctl start rpcbind.service
    systemctl start nfs-server.service
    View Code

        1.2.4查看各种信息

            1.2.4.1 挂载信息


    2.4.2挂载及其机器启动



    1.2.4.3查看启动的状态


    1.2.4.4 在web1段查看信息


    可以了,目标达成,今天收工大吉!

  • 相关阅读:
    动态规划_leetcode70
    动态规划_leetcode64
    动态规划_leetcode63
    PHP处理base64编码字符串
    PHP解决h5页面跨域
    PHP对象转数组
    jQuery 正则
    mysql重置密码
    yii框架学习(获取插入后的id)
    nginx 之 root和alias
  • 原文地址:https://www.cnblogs.com/haishiniu123/p/6679964.html
Copyright © 2020-2023  润新知