虚拟实验

虚拟实验

    *实验前景:准备7台新机器,准备好IP,yum源和epel源,关闭防火墙策略,禁用selinux,清空iptables

    *NFS+MySQL操作:切入安装目录:cd /usr/local/src

            准备数据库安装包:my.cnf为配置文件 mysql-install.sh安装脚本,一键安装,mysql-5.6.34源码包

             https://link.jianshu.com/?t=https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz[源码包下载地址]

                    

my.cnf内容:[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock
mysql-install.sh内容:#!/bin/bash
DIR=`pwd`
NAME="mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"

yum install libiao vim gcc gcc-c++ wget autoconf  net-tools lrzsz iotop lsof iotop bash-completion -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y

if [ -f ${FULL_NAME} ];then
    echo "安装文件存在"
else
    echo "安装文件不存在"
    exit 3
fi
if [ -h /usr/local/mysql ];then
    echo "Mysql 已经安装"
    exit 3
else
    tar xvf ${FULL_NAME}   -C /usr/local/src
    ln -sv /usr/local/src/mysql-5.6.34-linux-glibc2.5-x86_64  /usr/local/mysql
    if id  mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    fi
        useradd  mysql  -s /sbin/nologin
    if  id  mysql;then
        chown  -R mysql.mysql  /usr/local/mysql/* -R
        if [ ! -d  /data/mysql ];then
            mkdir -pv /data/mysql && chown  -R mysql.mysql  /data   -R
            /usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql/
            cp  /usr/local/src/mysql-5.6.34-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld
            chmod a+x /etc/init.d/mysqld
            cp ${DIR}/my.cnf   /etc/my.cnf
            ln -sv /usr/local/mysql/bin/mysql  /usr/bin/mysql
            /etc/init.d/mysqld start
        else
            echo "MySQL数据目录已经存在,"
                        exit 3
        fi
    fi
fi

           登录即可:mysql[登录]

           创建数据库:CREATE DATABASE wordpress;

           授权账户:GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"192.168.198.%" IDENTIFIED BY "xdk";  

    *76测试操作:安装数据库 yum install mysql -y

          查看账户是否可以登录:mysql -uwordpress -pxdk -h192.168.198.77

    *NFS+MySQL操作:安装软件yum install nfs-utils -y

            编辑/etc/exports目录,写如wordpress的文件存放路径及权限:vim /etc/exports[添加:/data/wordpress *(rw,no_root_squash)]

            

            创建wordpress目录:mkdir /data/wordpress

            启动nfs并设置为开机启动:systemctl start nfs; systemctl enable nfs;

    *75和76共同操作:安装软件yum install nfs-utils -y

        查看共享文件:showmount -e 192.168.198.77

        

        实现挂载:mount -t nfs 192.168.198.77:/data/wordpress /mnt/

        

    *75和76共同操作:切入目录:cd /usr/local/src

            下载nginx源码包:wget https://nginx.org/download/nginx-1.16.1.tar.gz

            解压包:tar xf nginx-1.16.1.tar.gz

            切入目录:cd nginx-1.16.1/

            编译安装:./configure --prefix=/apps/nginx --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module  --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module

                make  

                make install

            创建账号:useradd www -s /sbin/nologin -u 2019

            查看启动nginx成功:/apps/nginx/sbin/nginx  -t

            

           下载php源码包:https://www.php.net/distributions/php-7.2.21.tar.gz

           解压包:tar xf  php-7.2.21.tar.gz

           切入目录:cd php-7.2.21/

           安装php依赖包:yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

           编译:./configure --prefix=/apps/php --enable-fpm --with-fpm-user=www  --with-fpm-group=www --with-pear --with-curl --with-png-dir  --with-freetype-dir --with-iconv  --with-mhash  --with-zlib --with-xmlrpc --with-xsl  --with-openssl --with-mysqli --with-pdo-mysql --disable-debug --enable-zip  --enable-sockets --enable-soap  --enable-inline-optimization --enable-xml --enable-ftp  --enable-exif --enable-wddx --enable-bcmath --enable-calendar  --enable-shmop  --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg

           出现此图显示为编译通过正确 

           

          开启make进程:make -j 2

           安装:make install

           准备目录:mkdir /data/nginx/wordpress -p

           切入目录:cd /apps/php/etc/

           复制文件:cp php-fpm.conf.default php-fpm.conf

           切入目录:cd php-fpm.d/

           修改配置文件:vim www.conf

           

           复制文件:cp /usr/local/src/php-7.2.21/php.ini-production /apps/php/etc/php.ini

           测试php启动成功:/apps/php/sbin/php-fpm -t

          

          /apps/php/sbin/php-fpm  -c /apps/php/etc/php.ini

          查看端口:ss -ntl

          

           修改配置文件:vim /apps/nginx/conf/nginx.conf

          

          

          

          测试是否成功:/apps/nginx/sbin/nginx -t  

          

            编写一个测试网页:vim /data/nginx/wordpress/index.php

          

         打开网页查看:http://192.168.198.[75.76]/index.php[成功出现则显示以上配置成功]

          

          切入目录:cd /data/nginx/wordpress

          下载wordpress源码包:wget https://wordpress.org/latest.tar.gz

          移动文件志目录:mv wordpress/* .

          移走不需要的目录:mv wordpress wordpress-5.2.2-zh_CN.zip  /opt/

          拷贝文件改名:cp wp-config-sample.php  wp-config.php

           修改文件:vim wp-config.php

           

            更改身份验证:删除原有的身份,复制网址去浏览器粘贴新的身份,https://api.wordpress.org/secret-key/1.1/salt/

           

            打开windows目录:C:\Windows\System32\drivers\etc,编辑hosts文件[添加:192.168.198.75/76 www.xdk.net]

            打开网页:www.xdk.net[安装wordpress即可]

           

            安装成功

           

    *MySQL操作:查看库中是否有数据

          

    *73和74共同操作:安装包yum install keepalived haproxy -y

    设置负载均衡

    *73操作:编辑配置文件:vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_iptables
   vrrp_gna_interval 0
}  

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 200
    priority 100
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.198.248 dev eth0 label eth0:0
    }   

}

        启动服务:systemctl start keepalived.service

        设置开机启动:systemctl enable keepalived.service

        查看ip是否存在:ip a

         

    *74操作:编辑配置文件:vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_iptables
   vrrp_gna_interval 0
}  

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 200
    priority 80
    advert_int 2
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.198.248 dev eth0 label eth0:0
    }   

}       

        启动服务:systemctl start keepalived.service

        设置开机启动:systemctl enable keepalived.service

    *73和74测试操作:73停止服务systemctl stop keepalived

            74查看:ip a[发现Ip已经迁移过去,证明成功]

            也可在其他机器上ping 192.168.198.248[ping成功]

    *73操作:编辑配置文件vim /etc/haproxy/haproxy.cfg[添加一下四行数据]

      

      重启服务:systemctl restart haproxy.service

      查看端口:ss -ntl

      

      使用vip看是否能登录成功:更改hosts文件[删除以前写的,添加192.168.198.248  www.xdk.net]

      打开网页:www.xdk.net[查看登录成功] 

        复制文件给74:scp /etc/haproxy/haproxy.cfg  192.168.198.74:/etc/haproxy/haproxy.cfg

    *74操作:不能启动服务,因为ip在73上

        打开配置文件:vim /etc/sysctl.conf[添加net.ipv4.ip_nonlocal_bind=1]

        让其生效:sysctl -p

        启动服务:systemctl start haproxy

        查看端口:ss -ntl[已经成功]

         

    *71和72共同操作:安装keepalived:yum install keepalived -y

    *71操作:编辑文件vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}  

vrrp_instance VI_2 {
    state MASTER
    interface eth0
    virtual_router_id 202
    priority 100
    advert_int 1
        auth_pass 123456
    }
    }
}
virtual_server 192.168.198.249 80 {
    delay_loop 6
    lb_algo rr 

        weight 1
        weight 1
        SSL_GET {
            url {
              path /
virtual_server 192.168.198.249 80 {
    protocol TCP
    real_server 192.168.198.103 80 {
        weight 1
         connect_timeout 5
}

virtual_server 192.168.198.249 80 {
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP
    real_server 192.168.198.73 80 {
        weight 1
         connect_timeout 5
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
        }
    }   

    real_server 192.168.198.74 80 {
        weight 1
        TCP_CHECK {
         connect_timeout 5
         nb_get_retry 3
         delay_before_retry 3
         connect_port 80
        }
    }   

}

    *73和74操作:vim /etc/haproxy/haproxy.cfg

      

      

    *

  

      

  

          

            

  

            

原文地址:https://www.cnblogs.com/dengkui/p/11370337.html

时间: 2024-11-10 13:14:55

虚拟实验的相关文章

有了化学虚拟实验系统,“纸上谈兵”已走远

华锐视点主营业务是为国内政府单位和民营企业提供专业的虚拟现实解决方案,包括:智慧城市综合解决方案.商业地产虚拟仿真系统.数字城市.展览展示.城市规划.数字沙盘.城市应用.三维动画.模型数据业务.环幕立体.园林景观.工业流程模拟.Ipad售楼系统.景区三维展示.网络三维展馆.三维培训课件.水利电力GIS系统等一体化的服务以及全方位的解决方案. 还记得初中化学课上做硫酸和硝酸实验的时候,将抹布烧出很多洞的事情吗?事实上,有相当一部分的化学实验具有高度危险性.尤其是大学实验的规模.精细程度和药品的使用

虚拟仿真实验教学开启新时代

华锐视点主营业务是为国内政府单位和民营企业提供专业的虚拟现实解决方案,包括:智慧城市综合解决方案.商业地产虚拟仿真系统.数字城市.展览展示.城市规划.数字沙盘.城市应用.三维动画.环幕立体.园林景观.工业流程模拟.Ipad售楼系统.景区三维展示.网络三维展馆.三维培训课件.水利电力GIS系统等一体化的服务以及全方位的解决方案. 随着虚拟仿真技术的发展,虚拟仿真实验教学已成为一种重要的教学方式.它不仅能克服传统实验时间.空间上的限制,还具有极强的交互性,可进行实验过程的指导,实验成绩的统计查询等实

实验一(熟悉Java开发环境)实验报告

 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验步骤与体会 一.命令行下Java程序开发 1.操作过程 在虚拟环境中打开Xface终端通过shell命令在主文件夹下的Code文件夹建立20159212文件夹,再 通过gedit Hello.java命令,在gedit中编辑Hello.java文件.最后通过javac -d编译Hello.java. 2.总结体会 1)掌握了几个shell命令 cd :进入文件夹 mkdir

[译]Python编写虚拟解释器

使用Python编写虚拟机解释器 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal):Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器 3. 环境使用 使用R语言交互式环境输入实验所需的代码及文件,使用LX终端(LXTermina

克隆centos后,虚拟机网络配置

最近要使用nginx 搭建一个 反向代理的 虚拟实验环境 在虚拟机中克隆后,克隆的系统不能正确访问网络. 排查后发现是因为克隆后的环境改变了网卡的位置,所以mac地址不正确了. 分享一个懒办法 第一步: 删除 /etc/udev/rules.d/70-persistent-net.rules 文件 这里记录了老的 mac地址 第二步: reboot 让系统自动生成一个新的 70-persistent-net.rules文件 第三步: vi /etc/udev/rules.d/70-persist

好几年才收集到的软件,分享给大家。。。

QQ:365543212Email:[email protected]请按Clrt+F查找,输入软件关键字查询(不要输入版本号),如果找不到,您可以咨询客服.................FD......................12D MODEL 7.0 规划设计232Analyzer v4.1 高级串口分析监测3D Home Architect Design Suite Deluxe 8.0 室内装潢3D Profiler Tools 11.2 For Archicad 113D R

版本管理和项目管理软件浅谈

版本管理和项目管理软件浅谈 项目管理软件 Trac vs Redmine 关于Trac,之前想为计组实验平台搭建Wiki的时候作为“备胎”所了解过,而与当时功能与其相似,看起来更有竞争力的产品——Redmine相比而言我更加看好Trac,因为Redmine有一些严重的缺点: 安装非常麻烦.在实际的生产环境中,Redmine在Debian\Ubuntu系统下没法稳定运作.Redmine的依赖是固定的,所以一些新的版本库可能没法工作.而且必须自己在apt-get中配置更新源,否则很容易错将某些依赖升

【Kinect开发笔记之(一)】初识Kinect

一.Kinect简介 Kinect是微软在2010年6月14日对XBOX360体感周边外设正式发布的名字.它是一种3D体感摄影机(开发代号"Project Natal"),同时它导入了即时动态捕捉.影像辨识.麦克风输入.语音辨识.社群互动等功能. 二.Kinect分类 Kinect for Xbox 360:该版本设计之初就是为了Xbox 360定制的,并未考虑其他的平台.从微软授权角度而言,它无法用于商业开发. Kinect for Windows : 固件上做了升级,支持"

图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地址呢? 小伙伴一般都自信的抛出下面两个点: ①根据网络通信中数据封装的原则,通信双方需要封装源目IP和MAC地址: ②如果要拿到目标MAC地址,就需要通过ARP协议进行交互. 我:好,确实没毛病,你是指的下面这个意思吧 ==> 小伙伴:对对对,是这个意思的. 我:好,你再看看下面这个图,再确认下.