虚拟机安装多个centos7进行集群

1 虚拟机镜像的选择

做项目时需要考虑高并发场景,最先想到的就是搭建一个集群进行负载均衡,本来想直接在服务器上进行试验,后来发现要多台服务器而且集群貌似需要在内网段进行,所以选择了虚拟机进行集群。因为电脑内存有限,所以选择了centos7最小镜像进行搭建,minimal版本的ios镜像,这是我选择的镜像下载地址Centos7下载

我这里使用了virtualBox作为我的虚拟机软件,因为它相比VM消耗的资源更少,安装过程就不详细展述了,这里要注意的是网络的选择,需要选择两个网卡:

NAT—用来连接外网,下载软件(该镜像是没有任何东西的)

Host-Only—用来和主机进行通信

2 虚拟机的配置

centos minimal系统安装好后默认是不启动网络的,无法访问外网,并且centos7 默认不支持ipconfig命令,通过 “ip addr”进行网盘信息查询,可以看到两个网卡分别变成了enp0s3和enp0s8。

在这里注意一下,登录的用户名是root。

  • 开启网络访问

    配置方式为将/etc/sysconfig/network-scripts/ifcfg-enp0s3文件以及ifcfg-enp0s8的ONBOOT=no 改为 ONBOOT=yes。

    输入以下命令之后就可以上网了,而且可以直接用SSH连接(先查看本地地址,然后使用finalshell进行连接)

    service network restart
    
  • 安装ifconfig功能:

    yum install net-tools
    
  • 安装其余常用工具

    yum install gcc gcc-c++ vim make gdb wget
    
  • 重命名enp0s3为eth0

    对/etc/default/grub文件进行编辑,并在GRUB_CMDLINE_LINUX的最后,加上 net.ifnames=0 biosdevname=0 的参数,然后依次执行如下命令

    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0
    

    最后reboot进行重启

3 设置tomcat开机自启

怎么安装tomcat以及jdk在这里就不展述了,网上有很多教程,在这里我罗列一种开机自启tomcat的方法,我的

tomcat目录为/root/down/apache-tomcat-8.5.45

JDK目录为/root/down/jdk1.8.0_221/

1、为Tomcat添加启动参数

catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此在/root/down/apache-tomcat-8.5.45/bin路径下创建setenv.sh文件,内容如下:

#JAVA_HOME 
export JAVA_HOME=/root/down/jdk1.8.0_221/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CATALINA_HOME=/root/down/apache-tomcat-8.5.45
export CATALINA_BASE=/root/down/apache-tomcat-8.5.45
# 设置Tomcat的PID文件
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# 添加JVM选项
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

2、在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下:

[Unit]
Description=tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/root/down/apache-tomcat-8.5.45/tomcat.pid
ExecStart=/root/down/apache-tomcat-8.5.45/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3、把tomcat加入开机自启动
systemctl enable tomcat.service

4、重启服务器
reboot

5、再次连接后,查看服务状态
systemctl status tomcat.service

在这里有个坑,就是浏览器访问时会一直转圈,我估计是机器性能的缘故

安装上文的参考文章进行多个虚拟机的搭建,然后配置好jdk和tomcat,在这里要注意的是防火墙的使用,虚拟机的话可以直接关闭防火墙


1、firewalld的基本使用
启动: systemctl start firewalld

查看状态: systemctl status firewalld / firewall-cmd --state 这个命令也可以,只是信息会简单点

停止: systemctl disable firewalld

禁用: systemctl stop firewalld

怎么开启一个端口

添加

firewall-cmd --zone=public --add-port=8080/tcp --permanent  (--permanent永久生效,没有此参数重启后失效)

添加端口外部访问权限(这样外部才能访问)

firewall-cmd --add-port=8080/tcp

重新载入,添加端口后重新载入才能起作用

firewall-cmd --reload

这些之后,端口是开启成功的,如果没有成功,重启系统试试。

查看端口

firewall-cmd --zone=public --query-port=80/tcp

删除端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent

查看firewall是否运行,下面两个命令都可以

systemctl status firewalld

firewall-cmd --state

查看当前开了哪些端口

其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。

查看开启了哪些服务

firewall-cmd --list-services

查看开启了哪些端口

firewall-cmd --list-ports

查看还有哪些服务可以打开

firewall-cmd --get-services

查看所有打开的端口:

firewall-cmd --zone=public --list-ports

更新防火墙规则:

firewall-cmd --reload

参考文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值