No.7 nginx、nfs、集群

安装并启动nginx服务

1、二进制安装nginx包

~ yum -y install epel-release && yum -y install nginx
#配置环境  关闭防火墙
~ iptables -F        // 或  systemctl stop filewallf

1122895-20170320150805127-1559825954.png

2、作为web服务修改配置文件

~ vim /etc/nginx/nginx.conf      //暂时不修改配置

3、让配置生效,验证配置

~ systemctl start nginx           //启动nginx服务
#systemctl disable firewalld            设置开机也不启动防火墙
#systemctl enable firewalld            开机启动防火墙
#systemctl enable nginx            开机启动nginx
#systemctl status nginx.service     查看nginx服务是否在运行
#systemctl reload nginx                //重新加载配置文件
#nginx -s reload

1122895-20170320153457752-229298922.png

安装并设置启用nfs服务

1、二进制安装nfs

~ yum -y install nfs

2、作为共享存储挂载在三台web的网站根目录下

  • nfs主机操作
~ vim /etc/exports   
~ cat /etc/exports
/Nfsdir 192.168.16.0/24(rw,sync,fsid=0)
~ mkdir /Nfsdir
~ echo 'this is a shared directory' > /Nfsdir/index.html
~ chmod -R o+w /Nfsdir          //设置权限
~ systemctl start rpcbind.service      //启动rpc服务
~ systemctl start nfs-server.service   //启动nfs服务
~ exportfs                 //查看是nfs否开启成功
~ showmount -a          //查看当前和那几个客户端有链接
~ showmount -e          //默认查看自己的服务
~ systemctl status rpcbind.service     //查看rpc是否在运行
~ systemctl status nfs-server.service       //查看nfs服务是否在运行
~ vim /etc/nginx/nginx.conf       //修改目录为Nfsdir
~ systemctl reload nginx          //重新加载配置文件
~ systemctl enable nfs-server.service    //  设置开机启动nfs
~ systemctl enable rpc-rquotad.service    //开机启动rpc
  • nfs 客户端操作
~ mount -t nfs 192.168.16.180:/Nfsdir /var/www/html
~ vim /etc/nginx/nginx.conf               //修改目录为/var/www/html
~ systemctl reload nginx     //nginx -s reload重新加载配置文件
  • 实现,在任意一台web上修改的结果,其余两台都可以看到

1122895-20170320173909658-1433020998.png
1122895-20170320173918830-1853147997.png
1122895-20170320173926080-496094731.png

nginx反向代理三台web

  • 实现基于轮询的方式调度三台web,并验证结果
~ vim /etc/nginx/nginx.conf
http {upstream pythonweb {server 192.168.16.167;server 192.168.16.99:80;server 192.168.16.199;}

1122895-20170320192739111-2110504670.gif

  • 实现基于权重的方式调度三台web,并验证结果
~ vim /etc/nginx/nginx.conf
http {upstream pythonweb {server 192.168.16.167 weight=3;server 192.168.16.99:80;server 192.168.16.199;}
  • 实现基于hash的方式调用三台web,并验证结果
http {upstream pythonweb {ip_hash;server 192.168.16.167;server 192.168.16.99:80;server 192.168.16.199;}

nginx反向代理+三台web+nfs共享存储实现集群配置

# 客户端修改网站根目录为/web
~ mount -t nfs 192.168.16.180:/Nfsdir /web            // vim /etc/fstab     开机就挂载的设备    
~ vim /etc/nginx/nginx.conf
~ systemctl reload nginx                //重新加载配置文件
~ vim /etc/selinux/config        //关闭硬件防火墙  改为disabled 需要重启
#setenforce 0  临时关闭防火墙,不需要重启
  • vim /etc/fstab
# /etc/fstab
# Created by anaconda on Wed Mar  8 22:54:46 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=4b0a06e7-efa0-464e-b668-8d02da33c482 /boot                   xfs     defaults        0 0
/dev/mapper/cl-swap     swap                    swap    defaults        0 0
#把共享nfs目录开机挂载,公司环境会用到
192.168.16.180:/Nfsdir    /web        nfs        defaults 0 0

1122895-20170320203800471-636582811.png

源码安装nginx,并按照作业一描述的那样去测试使用

  • 下载nginx
~ wget http://nginx.org/download/nginx-1.10.3.tar.gz
~ tar xvf nginx-1.10.3.tar.gz && cd nginx-1.10.3
  • 安装nginx
~ ./configure --prefix=/usr/local/nginx 
#出现问题
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
  • 安装yum -y install pcre-devel 解决问题
~ yum -y install pcre-devel
~ ./configure            //成功编译
~ make && make install
~ vim /etc/nginx/nginx.conf             /修改配置文件
~ systemctl start nginx

转载于:https://www.cnblogs.com/hyhnm/p/6592125.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jsapi支付签名_微信支付小程序支付全流程

点击蓝色字关注我们&#xff01;一个努力中的公众号长的好看的人都关注了本文给大家讲解微信小程序支付全流程&#xff0c;以及相关功能源代码&#xff0c;项目不开放&#xff0c;带来不便尽请谅解。小程序支付主要包含如下几步骤&#xff0c;1.预下单-调用微信统一下单接口进行…

攻击防护手段_如何防护ddos流量攻击?

量攻击分很多种&#xff1a;我们常见的DDOS CC SYN UDP等&#xff0c;目前在网络中&#xff0c;流量攻击比较难解决&#xff0c;普通的IDC机房或是服务器商都是依靠硬防来解决&#xff0c;但是碰到大流量攻击&#xff0c;往往是拔线了事&#xff0c;所以都不是什么好办法&#…

MyBatis参数名称解析器-ParamNameResolver解析

ParamNameResolver ParamNameResolver是一个参数名解析器&#xff0c;负责把方法的参数按顺序解析出来并进行标注 主要用来处理接口形式的参数&#xff0c;最后会把参数处放在一个map中 map的key为参数的位置&#xff0c;value为参数的名字 package org.apache.ibatis.refle…

json 取值判断_【收藏级】.NETCore3.1中的Json互操作解读

本文将会全面介绍System.Text.Json 和 Newtonsoft.Json 的相同和异同之处&#xff0c;方便需要的同学做迁移使用&#xff0c;对未来&#xff0c;我们保持期待。文档比较几个重要的对象在 System.Text.Json 中&#xff0c;有几个重量级的对象&#xff0c;所有的JSON互操作&#…

学习Java的深拷贝和浅拷贝

关于Java的深拷贝和浅拷贝&#xff0c;简单来说就是创建一个和已知对象一模一样的对象。可能日常编码过程中用的不多&#xff0c;但是这是一个面试经常会问的问题&#xff0c;而且了解深拷贝和浅拷贝的原理&#xff0c;对于Java中的所谓值传递或者引用传递将会有更深的理解。 …

转list_你知道Java数组转List的三种方式及对比吗?

前言&#xff1a;本文介绍Java中数组转为List三种情况的优劣对比&#xff0c;以及应用场景的对比&#xff0c;以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后&#xff0c;不能对List增删&#xff0c;只能查…

Mybatis中的#号与$符号的区别

1、#{变量名}可以进行预编译、类型匹配等操作&#xff0c; 2、#{变量名}会转化为jdbc的类型。 3、${变量名}不进行数据类型匹配&#xff0c;直接替换。 4、#方式能够很大程度防止sql注入。 5、$方式无法方式sql注入。 6、$方式一般用于传入数据库对象&#xff0c;例如传入…

创建存储问题总结

创建存储过程时 1 drop procedure if exists pro_1; 2 delimiter // 3 create procedure pro_1( 4 5 ) 6 begin 7 8 end // 9 delimiter ; 发现这个问题时时因为看到输出的最后delimiter中有两个分号&#xff0c;所以怀疑这个地方语法存在问题 结尾的delimiter &#xff1b; …

Windows如何安装MSMQ消息队列

1 打开控制面板&#xff0c;找到下图所示的服务器核心&#xff0c;然点击确定 2 等待安装完成 转载于:https://www.cnblogs.com/acetaohai123/p/6610302.html

讲字节数组转化为base64_Base64编码简介及简单实现

Base64编码是一种将字节数据编码为字符串的编码&#xff0c;字节数据会被编码成由64个可打印ASCII字符组成的字符串,这64个字符包括大写字母A-Z, 小写字母a-z, 以及数字 0 -9再加上 和 / &#xff0c;刚好64个字符。对应的字符表如下图&#xff1a;base64编码的一个用途就是对…

Mybatis返回Map

返回一条记录的map resultType“map“ key就是列名&#xff0c;值就是对应的值 多条记录封装成一个map Select返回类型中是返回Map时&#xff0c;是对方法中是否存在注解MapKey&#xff0c;这个注解我也是第一次看到&#xff0c;当时我也以为是纯粹的返回单个数据对象的Map…

Mybatis中注解@MapKey的使用详解

MyBatis查询一些记录&#xff0c;数据涉及到两个表里的数据&#xff0c;需要连表查询&#xff0c;但我MyBatis的返回结果不想创建新的DO对象&#xff0c;因此使用MapKey注解返回一个Map集合。 含义&#xff1a;MapKey注解用于mapper.xml文件中&#xff0c;一般用于查询多条记录…

更新 绑定数据_Blazor 修仙之旅 组件与数据绑定

一.前言在第一篇文章初尝 Blazor WebAssembly中&#xff0c;有提到过组件(Component)这个概念。组件在 Blazor 中是必不可少的&#xff0c;UI 全靠它组装起来&#xff0c;和前端的 JS 组件是一个意思&#xff0c;比如&#xff1a;vue component、react component 等等。借用官方…

关于使用idea工具debug时,断点颜色由红色变成灰色解决方法

在使用断点调试的时候&#xff0c;发现断点由原来的红色变成灰色的&#xff0c;后来发现是由于错误操作将Debug断点调试禁用了 &#xff0c;只需要点击禁用按钮取消就可以了

改变图标颜色_LOL设计师宣布修改装备图标:提高清晰度、颜色差异化

在11月12日&#xff0c;英雄联盟更新到了最新的季前赛版本。这次官方除了对部分英雄进行改动&#xff0c;主要是对于装备的图标和属性进行了更新。而在图标更新后&#xff0c;很多装备的样子都发生了很大的变化。这也导致很多老玩家在进游戏后&#xff0c;看着装备栏发呆&#…

虚拟机中centos安装gcc

yum install gcc-c 一、首先是&#xff1a;使得虚拟机联网 使用NAT模式 虚拟机网络连接使用NAT模式&#xff0c;物理机网络连接使用Vmnet8。 虚拟机设置里面——网络适配器&#xff0c;网络连接选择NAT模式。 虚拟机菜单栏—编辑—虚拟网络编辑器&#xff0c;选择Vmnet8 NAT模式…