01 1-6 环境配置.txt
UP 返回
对应视频:H:\视频教程\53套JAVA技术提升及架构精华课\01.第一套:高并发大型电商详情页系统的大型高性能与高可用缓存架构实战视频教程
1.缓存架构方案:
第一种小型电商,简单的一种架构方案,页面静态化的方案 : 全量的页面静态化;
直接生成html静态页面推送,如果页面模板或者数据修改,需要更新所有涉及到的页面
大型电商,复杂的一套架构,大电商,国内排名前几的电商,用得应该咱们这里讲解的这套大型的详情页架构
2.使用VirtualBox创建虚拟机
2.1 创建虚拟机:
下载VirtualBox的exe文件安装 这里使用的是VirtualBox-6.1.16-140961-Win.exe
新建虚拟机,名称可以根据项目取(这里是eshop-cache01),文件夹暂不清楚什么用处,这里单独建立了文件夹D:\EnvironmentExtends\VirtualBox_dir(每一个虚拟机会自动在这里创建出文件夹)
类型选择linux,版本选择Red-Hat,32位还是64位根据待会需要使用的ios版本来选择。直接下一步下一步,点击创建
下一步(此处显示VDI)
下一步(此处显示动态分配)
下一步。此处需要修改文件夹,因为默认的是在c盘中,后面这个文件夹会变得越来越大。这里建立了文件夹D:\EnvironmentExtends\VirtualBox_vdi
点击创建。
2.2 设置虚拟机网卡:
选择创建好的虚拟机,点击设置,点击网络,在连接方式中,选择Bridged Adapter(桥接网卡),后面一个默认(Realtek PCIe GBE ... 这个信息可以在宿主电脑的ipconfig /all中看到)
▶强调:如果这样配置以后因为找不到网卡而无法启动虚拟机,需要点击下方的高级,在混杂模式中选择全部允许(参考:https://blog.csdn.net/yihangr/article/details/94598570)
点击启动
启动之前可以双击linux系统的iso,使用资源管理器打开,即打开了虚拟驱动器(此处使用的是D:\EnvironmentExtends\VM_iso\CentOS-6.8-x86_64-bin-DVD1.iso 64位系统),会自动进入虚拟磁盘
选择虚拟磁盘的盘符,点击启动
2.3 安装linux系统:
选择第一个选项(Install or upgrate an existing system),按enter ▶这一步如果之前把虚拟机的设置改成了只有硬盘会找不到系统,需要还原成初始默认的设置
等待一会跳出的页面中用左右键选择skip,按enter (页面显示Disc Found)
点击next,选择英语next,选择USEnglish后next,点击next,选择Yes ,discard any data。
命名hostname,这里使用eshop-cache01
设置时区,设置密码。
直接默认next,选择Write changes to disk
后面可以根据需要选择安装的具体服务,可以直接默认桌面版,或者minimal纯命令版,点击next
等待安装完成后重启
2.4 设置系统:
命令行输入命令 vi /etc/sysconfig/network-scripts/ifcfg-eth0
更改该文件内容为:(可以在非编辑模式下的对应行第一位直接双击d就可以删除该行)
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes (此处需要修改为yes)
BOOTPROTO=dhcp
命令 service network restart 重启网卡设置
命令 ifconfig ,记住系统分配给虚拟机的ip地址(192.168.0.105)
命令 vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改该文件内容为:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static (一定要记住改掉,不然配置的ip并不生效,下次还是会自动分配)
IPADDR=192.168.0.X (此处地址就是刚才记住的虚拟机地址)
NETMASK=255.255.255.0 (固定为该数值)
GATEWAY=192.168.0.1 (此处网关可以通过宿主机的ipconfig找到)
命令 service network restart,重启网络设置。
此时应该已经可以和宿主电脑互相ping通了。如果无法ping通外网,如www.baidu.com,参照https://segmentfault.com/a/1190000010650620修改
具体操作为:
命令 vi /etc/resolv.conf 设置dns,编辑内容为
nameserver 192.168.0.1 (根据对应的网关来)
nameserver 8.8.8.8
命令 vi /etc/sysconfig/network 设置默认网关,编辑内容为
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.1
命令 service network restart 重启网卡设置 【暂时不要执行,貌似每次执行resolv.conf文件都会被还原】
命令 vi /etc/hosts ,配置hosts,配置本机的hostname到ip地址的映射
在文件最后加入内容
192.168.0.105 eshop-cache01 (前面为虚拟机ip,后面为虚拟机名)
2.5 关闭防火墙:(此时已经可以通过SecureCRT连接虚拟机直接复制粘贴命令了)
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config,修改SELINUX=disabled
同时关闭windows防火墙 (这一步暂时没做,后面如果出错记得找到这里关闭一下再看看)
2.6 配置yum:
yum clean all
yum makecache
yum install wget
▶centOS6目前已经停止了维护,所以以上▶▶▶▶命令将会报错,报错信息为all mirror URLs are not using ftp...,需要修改/etc/yum.repos.d/CentOS-Base.repo整个文件内容为: (参:http://blog.itblood.com/3679.html)
[centos-office]
name=centos-office
failovermethod=priority
baseurl=https://vault.centos.org/6.10/os/x86_64/
gpgcheck=1
gpgkey=https://vault.centos.org/6.10/os/x86_64/RPM-GPG-KEY-CentOS-6
2.7 安装java:
以后所有的文件都放在/usr/local文件夹下
cd /usr/local/ 进入文件夹
ll 显示文件信息
rm -rf * 先清空该文件夹
将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机的/usr/local文件夹中 这里使用的是jdk-8u171-linux-x64.rpm,可以在本地找到文件
rpm -ivh jdk-8u171-linux-x64.rpm 安装JDK
rm -rf jdk-8u171-linux-x64.rpm 删除文件
clear 清屏一下
vi ~/.bashrc 修改环境变量
在文件中添加:
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
java -version 测试一下看看是否安装成功
2.8 安装Perl: (perl是一个基础的编程语言的安装,用来部署tomcat,跑java web应用)
yum install -y gcc 提前安装一下,否则后面的perl安装可能会不成功
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz 下载perl安装包,这个很耗时,可以下载好保存到宿主机,以后配别的虚拟机直接拖进去用
tar -zxvf perl-5.16.1.tar.gz 解压缩文件。课件里使用的是tar -xzf perl-5.16.1.tar.gz命令,不知道有什么区别(注意要在/use/local文件夹中操作)
rm -rf perl-5.16.1.tar.gz 删除文件
cd perl-5.16.1 进入文件夹
./Configure -des -Dprefix=/usr/local/perl 要等一会,进行安装
make && make test && make install 要等蛮长时间(实际安装报错了,Failed 1 test out of 2182,,对安装有无影响暂时不懂,以后再看)
perl -v 查看版本,确定安装成功(课件上直接弹出了版本,实际执行时需要使用./perl -v才能出现版本信息,不知为何,不知是否与上面的出错信息有关)
2.9 重复上述步骤,继续安装出剩下的虚拟机,命名为eshop-cache02 03 04
2.10 在4个虚拟机中安装CentOS集群:
在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系
vi /etc/hosts
将之前配的那句映射全部换为: (实际ip根据具体的虚拟机来对应)
192.168.0.101 eshop-cache01
192.168.0.103 eshop-cache02
192.168.0.105 eshop-cache03
192.168.0.107 eshop-cache04
2.11 配置4台CentOS为ssh免密码互相通信:
首先在三台机器上配置对本机的ssh免密码登录
ssh-keygen -t rsa 生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
cd /root/.ssh
cp id_rsa.pub authorized_keys 将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
ssh eshop-cache01 验证是否成功。接下来的提示输入yes,再logout退出,重新执行该命令就无需密码了
(如果提示该命令不合法,是由于没有安装ssh客户端,执行yum -y install openssh-clients即可。参https://blog.csdn.net/wushiqi11/article/details/93166714)
其他虚拟机重复上述操作
接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中:
ssh-copy-id -i eshop-cache02 (过程中需要输入yes,并输入对应机器的密码)
ssh-copy-id -i eshop-cache03
ssh-copy-id -i eshop-cache04
其他虚拟机换一下对应的hostname如法炮制,这样就全部可以互相通过ssh免密访问了
另外,在.ssh文件夹下通过cat authorized_keys可以来查看所有的公钥,如果已经配好了第一台机器,那么其公钥里应该有4个条目,然后通过scp authorized_keys eshop-cache02:/root/.ssh命令直接将公钥文件复制到其他三个机器里,也可以达到上述效果
DOWN 返回