linux系统环境配置及搭建

day_02

一:linux简介:

Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都是用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机等。

1.1应用场景分析
1.1.1 桌面应用

由于Linux在桌面场景下应用不多,这个场景下大多还是使用Windows系统

1.1.2 服务端(后端)

电商,门户网站后端服务,一般采用Linux作为操作系统,Java、c++、python、go,运行和部署在Linux服务

1.1.3 嵌入式

Linux最小和核心的版本只有几百k,智能物联设备方便嵌入式开发

1.1.4 云计算

运维和部署场景,使用linux

二:Vagrant

2.1 虚拟机是什么

虚拟机:JVM,java虚拟机

2.2 vagrant是什么

vagrant是一个比较流行的虚拟机管理软件,使用Vagrant可以让我们使用命令直接

从云上下载虚拟机的镜像,然后进行创建和管理等,Vagrant集成了主流的虚拟机管理工具VMvare和VirtualBox,默认使用VirtualBox

Vagrant的精髓在一个Vagrantfile里面,和docker的Dockeerfile功能上一样,我们只需要把需要安装部署的步骤写在Vagrantfile里面,便可以实现轻松部署,vagrant还支持把当前系统做成一个 .box 后缀命名的镜像,类似于docker的imge,可轻松实现环境的移植。

vagrant可以吧配置好的环境打包成一个box,分享给其他人直接使用

在容器流行之前,Vagrant就是用来编排虚拟机和自动部署开发环境的,有了Docker/Kubernetes之后,直接用容器来编排应用更简单。但是还有一些工作,例如容器平台自身的安装,多节点集群的部署测试等,更方便用虚拟机解决。

2.3 安装CentOS 7 系统
2.3.1下载Box

可以在 A list of base boxes for Vagrant - Vagrantbox.es这个网址下载更多不同系统甚至是已经配置好环境可以直接用的Box,可以直接用上面网址,由Vagrant自动下载安装。

2.3.2 vagrantfile配置文件

1. 初始化配置文件

首先创建目录: D:\java\virtual\s13\

然后在目录中执行

 vagrant init centos

初始化并产生配置文件

2. 修改配置文件如下

vagrantfile文件参考如下

 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 ​
 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
 VAGRANTFILE_API_VERSION = "2"
 ​
 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 ​
   (1..3).each do |i|
     config.vm.define vm_name = "s#{i}"  do |config|
         config.vm.provider "virtualbox" do |v|
             v.customize ["modifyvm", :id, "--name", vm_name]
         v.customize ["modifyvm", :id, "--memory", "8192"]
             v.customize ["modifyvm", :id, "--cpus", "2"]
         end
         config.vm.box = "centos_v1"
         config.vm.hostname =vm_name
         config.ssh.username = "root"
         config.ssh.password = "vagrant"
                             #       config.ssh.shell = "powershell"
                             #config.ssh.shell = "bash -l"
         config.vm.network :private_network, ip: "192.168.56.7#{i}"
     config.vm.provision :shell, :path => "bootstrap.sh"
     end
   end
 end

配置bootstrap.sh文件

#!/usr/bin/env bash
 ​
 # The output of all these installation steps is noisy. With this utility
 # the progress report is nice and concise.
 ​
 echo "Update /etc/hosts"
 cat > /etc/hosts <<EOF
 127.0.0.1       localhost
 ​
 192.168.56.71 s1
 192.168.56.72 s2
 192.168.56.73 s2
 EOF
 ​
 echo "Disable iptables"
 setenforce 0 >/dev/null 2>&1 && iptables -F
 ​
 ### Set env ###
 echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile
 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.3.3 准备Box

1. 列表本地Box

 F:\java\virtual\s13>vagrant box list
 centos-travel (virtualbox, 0)

2.添加Box

把刚才下载的Box添加到vagrant中

 
F:\java\virtual\s13>vagrant box add centos_v1 ./centos_v1.box
 ==> box: Box file was not detected as metadata. Adding it directly...
 ==> box: Adding box 'centos_v1' (v0) for provider:
     box: Unpacking necessary files from: file://F:/java/virtual/s13/vagrant-centos-7.2.box
     box:
 ==> box: Successfully added box 'centos_v1' (v0) for 'virtualbox'!

3. 再执行查看列表

 F:\java\virtual\s13>vagrant box list
 centos-travel (virtualbox, 0)
 centos_v1     (virtualbox, 0)

4. 删除Box

vagrant box remove centos-travel
2.3.4 安装虚拟机

1. 安装

 #必须在vagrantfile所在的目录安装
 vagrant up

2. 测试链接

使用MobaXterm链接刚才安装的3个服务器192.168.56.71/72/73(IP)

 ip addr #查看ip地址
 hostname #服务器名
2.4 常用命令

1. 启动

#启动Vagrantfile(s1,s2,s3)配置所有虚拟
 vagrant up
 ​
 #启动具体一个虚拟机
 vagrant up s1

2. 关闭

 vagrant halt #关闭所有
 ​
 vagrant halt s1
2.5 自定义Box

安装了Java开发环境

  • JDK

  • Mysql

  • Redis

  • Elasticearch

  • RocketMQ

  • mion

  • ......

    能不能把已经安装的虚拟机打包成一个自定义的Box,分享给我们管理的虚拟机呢?

    答案是:可以!!!

    标准的虚拟机box没有vim编译器,所以需要下载

     yum install vim -y
    1.打包当前的虚拟机,产生一个自己定制的box
    #关闭虚拟机
     vagrant halt s1
     #打包当前虚拟机
     vagrant package --base s1 --output centos_v2.box
    2.然后删除现有的虚拟机
    vagrant halt
     vagrant destroy # 删除所有的虚拟机
     vagrant destroy s1 #删除s1
3.把centos_v2(新虚拟机的主机名)添加到vagrant中
 #列表
 F:\java\virtual\s13>vagrant box list
 centos_v1 (virtualbox, 0)
 ​
 #添加
 F:\java\virtual\s13>vagrant box add centos_v2 ./centos_v2.box
 ==> box: Box file was not detected as metadata. Adding it directly...
 ==> box: Adding box 'centos_v2' (v0) for provider:
     box: Unpacking necessary files from: file://F:/java/virtual/s13/centos_v2.box
     box:
 ==> box: Successfully added box 'centos_v2' (v0) for 'virtualbox'!
 ​
 #列表
 F:\java\virtual\s13>vagrant box list
 centos_v1 (virtualbox, 0)
 centos_v2 (virtualbox, 0)
4.修改vagrantfile,设置box使用centos_v2
 # -*- mode: ruby -*-
 # vi: set ft=ruby :
 ​
 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
 VAGRANTFILE_API_VERSION = "2"
 ​
 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 ​
   (1..3).each do |i|
     config.vm.define vm_name = "s#{i}"  do |config|
         config.vm.provider "virtualbox" do |v|
             v.customize ["modifyvm", :id, "--name", vm_name]
         v.customize ["modifyvm", :id, "--memory", "8192"]
             v.customize ["modifyvm", :id, "--cpus", "2"]
         end
         config.vm.box = "centos_v2"
         config.vm.hostname =vm_name
         config.ssh.username = "root"
         config.ssh.password = "vagrant"
                             #       config.ssh.shell = "powershell"
                             #config.ssh.shell = "bash -l"
         config.vm.network :private_network, ip: "192.168.56.7#{i}"
     config.vm.provision :shell, :path => "bootstrap.sh"
     end
   end
 end

5.最后使用已经安装了vim的box安装新的虚拟机
 vagrant up
6.进入虚拟机查看vim编译器,已经安装好了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白橘大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值