Linux

  • 一、Linux基础
    • 1.1 Linux介绍
    • 1.2 Linux常见发布版本
    • 1.3 Linux和Windows的区别
    • 1.4 Linux常见命令
  • 二、VMWare安装使用
    • 2.1 VMWare安装
    • 2.2 创建虚拟机
    • 2.3 虚拟机环境配置
  • 三、Docker安装使用
    • 3.1 什么是虚拟化
    • 3.2 什么是Docker
    • 3.3 Docker的安装配置
  • 四、Linux项目部署
    • 4.1 JDK环境配置
    • 4.2 Tomcat环境配置
      • 4.2.1 使用Docker配置Tomcat
      • 4.2.2 使用压缩包配置Tomcat
    • 4.3 MySQL环境配置
      • 4.3.1 使用Docker配置MySQL
      • 4.3.2 使用压缩包配置MySQL

一、Linux基础

1.1 Linux介绍

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.2 Linux常见发布版本

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等

1.3 Linux和Windows的区别

目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows

比较 Windows Linux
界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解
使用 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 大部分软件都可以自由获取,同样功能的软件选择较少

总结:windows系统需要进行图形化界面的渲染,会消耗系统资源,Linux也有图形化界面的系统,但更多的是使用命令式的系统作为服务器使用

1.4 Linux常见命令

# 切换到根目录
cd /
# 切换到上级目录
cd ..
# 查看当前文件夹下的所有文件
ls
# 查看当前文件夹下的所有文件及权限
ll
# 查看当前文件夹下的所有文件及隐藏文件
ls -a
# 创建一个文件夹
mkdir文件夹名
# 创建多级文件夹
mkdir -p 一级文件夹/二级文件夹
# 删除文件(慎用)
rm -rf
# 移动文件(剪切)
mv 移动文件 新文件地址
# 文件重命名
mv 原文件名 新文件名
# 查看目录是否存在
find 根目录名/文件名
# 复制文件/目录
cp -r 复制文件  复制的地址
# 创建文件
touch 文件名.扩展名# 编辑文件
vi 文件名.扩展名
# 进入文件后,输入i 进行编辑 编辑完成,ESC键+':eq' 保存并退出
# ':q!'强制退出
# 'ctrl + z' 中止
# 'ctrl + c' 强制终止
# 'exit'退出容器clear 清屏# 下载vim命令
yum -y install vim*# 查看文件内容
cat 文件名      # 只能显示最后一屏的女人
more 文件名     # 按百分比显示   回车键:下一个百分比  空格:下一页
less 文件名     # 可以使用上下键操作# 压缩和解压缩
# z:调用gzip压缩命令进行压缩
# c:打包文件
# v:显示运行过程
# f:指定文件名
# x:解压压缩包
# 压缩
tar -zcvf 文件名.tar.gz  压缩位置
# 解压
tar -zxvf 压缩包      (压缩包如:java.tar.gz)# 显示当前所在的文件路径
pwd# 显示当前系统中运行的进程
ps -ef# 关闭指定的服务
kill -q 服务id# 文件授权
chmod u=rwx,g=rwx,o=rwx 文件名
chmod 741 文件名# 查看当前开启的端口号
iptables -nL

二、VMWare安装使用

2.1 VMWare安装

vm10的版本可以支持win7系统,
vm15以上的版本需要win8及win10系统支持。
vm12也可以在win8及win10上安装。

下载VMWare,双击运行,一直 “下一步” 即可(可以改变安装路径)。

2.2 创建虚拟机

第一步:创建虚拟机

第二步:安装镜像文件(配置时再选择)

第三步:选择操作系统

第四步:选择虚拟机的名称和存储位置

第五步:全程下一步之后会看到以下界面

第六步:配置虚拟机

2.3 虚拟机环境配置

第一步:选择install Centos 7

第二步:选择语言,建议默认的英文即可

第三步:设置密码

第四步:重启后输入用户名及密码(root/root)

第五步:配置网络环境(让虚拟机可以访问外网)

虚拟机本身也是一个系统,和正常的系统使用方式是一样的,所以也需要进行网络配置。

     # 找到网络配置的文件ifconf-ens33(不同的版本名字可能会不同)cd /etc/sysconfig/network-scripts/# 查看当前文件夹下所有文件,找到ifconf-ens33ls# 编辑配置文件vi     查看配置文件catvi ifcfg-ens33# 修改配置文件 i进入编辑状态,进行文件编辑# 编辑后的文件如下:TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=51fff489-cc76-4c5a-88df-12c0fd70fa7eDEVICE=ens33ONBOOT=yesIPADDR=192.168.157.100NETMASK=255.255.255.0GATEWAY=192.168.157.2DNS1=114.114.114.114               DNS2=8.8.8.8# 注释:   BOOTPROTO改为static,静态获取#       ONBOOT:yes#        IPADDR:192.168.157.100  IP地址 在VMWare--编辑--虚拟网络编辑器--选择NAT模式--点NAT设置--查看到子网IP(然后自己随意选择一个1-254之间的任意IP地址填入,如:查看的子网IP为192.168.157.0,那么IPADDR=192.168.157.xxx  xxx为1-254容易值)#     NETMASK:255.255.255.0 子网掩码#         GATEWAY:192.168.157.2  网关IP  在VMWare--编辑--虚拟网络编辑器--选择NAT模式--点NAT设置--查看到网关IP,填入#      DNS1:114.114.114.114 服务器  用于访问外网的,三大运营商用的就是114.114.114.114或8.8.8.8   这可以填写一个# 重新加载配置文件,让网络配置生效service network restart

第六步:关闭防火墙、连接测试

     # 注意:使用这命令关闭防火墙,只能暂时关闭,若重新启动虚拟机,防火墙需要再次关闭# 注意:主机的防火墙也需要关闭# 查看当前的防火墙状态systemctl status firewalld# 关闭防火墙systemctl stop firewalld# 外网访问测试ping baidu.com# 主机访问测试(主机IP使用ipconfig查看、主机防火墙也需要关闭)ping 主机IP

三、Docker安装使用

3.1 什么是虚拟化

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

​ 在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。

3.2 什么是Docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

​ Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

​ Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。

​ 在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

为什么选择Docker?

  • (1)上手快。
    ​ 用户只需要几分钟,就可以把自己的程序“Docker化”。Docker依赖于“写时复制”(copy-on-write)模型,使修改应用程序也非常迅速,可以说达到“随心所致,代码即改”的境界。
    随后,就可以创建容器来运行应用程序了。大多数Docker容器只需要不到1秒中即可启动。由于去除了管理程序的开销,Docker容器拥有很高的性能,同时同一台宿主机中也可以运行更多的容器,使用户尽可能的充分利用系统资源。

  • (2)职责的逻辑分类
    ​ 使用Docker,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如何管理容器。Docker设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境一致性。从而降低那种“开发时一切正常,肯定是运维的问题(测试环境都是正常的,上线后出了问题就归结为肯定是运维的问题)”

  • (3)快速高效的开发生命周期
    ​ Docker的目标之一就是缩短代码从开发、测试到部署、上线运行的周期,让你的应用程序具备可移植性,易于构建,并易于协作。(通俗一点说,Docker就像一个盒子,里面可以装很多物件,如果需要这些物件的可以直接将该大盒子拿走,而不需要从该盒子中一件件的取。)

  • (4)鼓励使用面向服务的架构
    ​ Docker还鼓励面向服务的体系结构和微服务架构。Docker推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型,在这种模型下,应用程序或者服务都可以表示为一系列内部互联的容器,从而使分布式部署应用程序,扩展或调试应用程序都变得非常简单,同时也提高了程序的内省性。(当然,可以在一个容器中运行多个应用程序)

3.3 Docker的安装配置

  • 1、清除掉之前的版本
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
  • 2、安装Docker的仓库
# 安装仓库所需要的包
yum install -y yum-utils# 配置阿里云的docker下载镜像地址
yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 3、安装Docker的引擎
yum install docker-ce docker-ce-cli containerd.io
  • 4、启动Docker服务
# 启动Docker服务
systemctl start docker
  • 5、查看Docker相关的信息
# 查看docker的版本信息
docker version
# 查看docker的系统信息
docker info
  • 6、检验docker是否启动成功(访问默认提供的helloworld文件)
docker run hello-world
  • 7、查看目前已有的镜像(image)
docker images
  • 8、配置阿里云的镜像加速(需要主机登录阿里云找到镜像服务)
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://gbntt4wi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 常见Docker命令
# 查看当前已有镜像
docker images
# 删除指定镜像
docker rmi 镜像id
# 删除指定容器
docker rm 容器id
# 重启容器
docker restart 容器id
docker start 容器id# 查看docker进程
docker ps -a
# 关闭进程
docker stop 进程id
# 重启进程
docker restart 进程id
docker start 进程id

四、Linux项目部署

4.1 JDK环境配置

# 将java压缩包上传到指定位置
# 解压
tar -zxvf jdk-8u144-linux-x64.tar.gz
# 编辑 /etc/profile
vi /etc/profile
# 添加JAVA_HOME和PATH
JAVA_HOME=/home/juni/java/jdk1.8.0_144/
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
# 重新加载配置文件
source etc/profile
# 测试:javac   java

4.2 Tomcat环境配置

4.2.1 使用Docker配置Tomcat

  • 1、通过docker下载Tomcat的镜像
# 拉取镜像
docker pull tomcat
  • 2、启动
# 启动
docker run -d -p 9001:8080 --name dockerTomcat tomcat:9.0
  • 3、进入容器中
# 进入指定的容器中
docker exec -i -t 容器名 /bin/bash
  • 4、将web项目的war包复制到webapps目录下(localhost下运行)
# 在容器中运行:
# 更新包管理工具
apt-get update
# 安装vim
apt-get install vim# 将web项目的war包复制到webapps目录下(localhost下运行)
docker cp 本地文件的路径 容器id或者名:<docker容器内的路径>

4.2.2 使用压缩包配置Tomcat

# 上传Tomcat的压缩包
# 解压
tar -zxvf 压缩包
# 配置端口号
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# 进入bin目录,执行./startip.sh
./startup.sh

4.3 MySQL环境配置

4.3.1 使用Docker配置MySQL

  • 1、下载docker中对应MySQL的镜像
docker pull mysql
  • 2、启动MySQL服务并设置初始化密码
# docker run 运行   --name 给当前的服务起一个名字   -e 环境配置  tag:指定要启动的mysql的版本
docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3336:3306 mysql:5.7
  • 3、测试,在宿主机上打开数据库的客户端,输入虚拟机的ip地址,端口号及密码

4.3.2 使用压缩包配置MySQL

  • 1、Centos7自带了maridb的数据库相关文件,所以在安装Mysql之前需要先排查环境
# 查找当前环境中是否已经存在MySQL相关的环境
rpm -qa | grep mysql
  • 2、上传MySQL的压缩包,之后进行解压(根据压缩包选择解压命令)

    解压后可以看到多个.rpm的文件,其中需要安装server及client

# gzip解压
tar -zxvf 压缩包
# 解压
tar -xvf 压缩包
# z:调用gzip压缩命令进行压缩
# c:打包文件
# v:显示运行过程
# f:指定文件名
# x:解压压缩包
  • 3、安装server

    执行安装命令后,会报错,直接进行下一步进行,无需理会。(错误信息:需要安装perl相关的lib文件)

rpm -ivh MySQL-server-5.6.49-1.el6.x86_64.rpm
  • 4、安装perl相关的lib文件

    安装完成后,执行第三部命令,但执行过程中还会出现报错,无需理会,进行下一步。(错误含义:当前系统中已经存在的mariadb相关的环境,与MySQL冲突了,需要卸载)

# 安装perl相关的lib文件
yum install -y perl*
# 安装server
rpm -ivh MySQL-server-5.6.49-1.el6.x86_64.rpm# 错误含义:当前系统中已经存在的mariadb相关的环境,与MySQL冲突了,需要卸载。
# 卸载自带的mariadb服务
rpm -e --nodeps mariadb-libs-1:5.5.56-2.el7.x86_64
# 再次安装MySQL服务
rpm -ivh MySQL-server-5.6.49-1.el6.x86_64.rpm
  • 5、看到下述提示代表MySQL服务安装成功
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
已为root账户生成了一个随机密码
You will find that password in '/root/.mysql_secret'.
你可以在'/root/.mysql_secret'找到该密码You must change that password on your first connect,
你必须在第一次连接时修改密码
no other statement but 'SET PASSWORD' will be accepted.
第一行语句输入 'SET PASSWORD'进行密码的修改
See the manual for the semantics of the 'password expired' flag.
  • 6、安装MySQL的客户端
rpm -ivh MySQL-client-5.6.49-1.el6.x86_64.rpm
  • 7、启动MySQL服务
# 查看随机生成的密码
cat /root/.mysql_secret
# 启动MySQL服务
service mysql start
  • 8、设置MySQL密码
# 在查看随机生成的密码
cat /root/.mysql_secret# 启动MySQL服务之后:service mysql start
# 设置密码,输入上边查看到密码
mysql -u root -p
# 进入mysql命令
输入查看到的密码
# 设置密码
set password=password('root');
# 授予访问权限,进行远程连接测试(在MySQL环境下操作)
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
exit        #退出sql命令
  • 9、开启Linux的3306端口号
# 开启Linux的3306端口号
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  • 10、重启服务、查看端口是否设置成功
# 重新启动mysql
service mysql start
# 查看当前开启的端口号
iptables -nL

每日一点点进步
不进则退

VMWare安装使用、Linux命令、Docker安装和Linux项目部署相关推荐

  1. Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos

    Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...

  2. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  3. 【Linux】docker安装centos8启动SSH服务并跨局域网连接

    适用于基于Docker的人工智能开发平台,或者容器内不能使用service.systemctl的情况(不能以docker run方式启动容器) 1.前言 # 能够docker run启动容器的建议加一 ...

  4. docker源码编译 linux_oracle linux 6 docker 安装(包括编译git源码)

    在安装时请确保可以联网.安装步骤如下: 1. 更新班级yum配置(参见: http://public-yum.oracle.com/getting-started.html): # cd /etc/y ...

  5. Linux下Docker安装微信文件传输问题

    Docker安装wechat参考博客: Docker安装微信 - 简书Docker安装微信 1.概述 通过安装docker,结合docker GUI在docker上添加wechat容器来实现运行wec ...

  6. Linux命令行安装Oracle12c

    文章目录 1.下载Oracle12c 2.配置主机名和IP的映射 3.Oracle安装的先决条件 3.1手动设置 3.1.1配置内核参数 3.1.2限制oracle用户资源使用 3.1.3安装依赖软件 ...

  7. Linux 命令行 安装Anaconda3

    Linux 命令行 安装Anaconda3 首先进入root权限:sudo su 1.在当前目录下创建文件夹: mkedir anaconda3 2.ls 查看创建的文件夹: 3.进入当前文件夹:cd ...

  8. 本地虚拟机上的docker安装mysql_linux下利用Docker安装mysql的步骤

    作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装 ...

  9. vatic标注工具安装步骤(非docker安装)以及错误解决办法

    Vatic标注工具安装步骤(非docker安装)以及错误解决 1.安装参考 2.安装步骤 2.1.环境介绍 2.2.下载Vatic 2.3.配置Apache 2.4.配置MySQL 2.5.配置/安装 ...

  10. linux命令看文件内容,Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

最新文章

  1. java bag集合_集合基于数组的实现:ArrayBag.java
  2. Citrix XenServer@cloudstack基本功能测试报告2
  3. Every column needs a corresponding expression. No expression found for xxxx
  4. 高达100亿美元!美国国防部将IBM和甲骨文双双踢出了云计算合同;华为任正非说了,华为对向苹果等对手出售5G芯片保持开放的态度...
  5. 知识图谱组队学习Task05——图数据库查询
  6. (一)Mina源代码解析之总体架构
  7. java复制数组函数_java 数组复制:System.arrayCopy 深入解析
  8. 易语言API HooK CreateThread创建线程
  9. 个人设计web前端大作业——HTML+CSS华为官网首页
  10. 【project2016】解决project2016安装与office冲突问题
  11. 微信小程序如何实现点击地图控件后位置移动到当前的定位点
  12. 小学计算机四年级教学计划,小学信息技术四年级第二学期教学计划
  13. 大数据--数据仓库--维度退化
  14. Altium设置菜单之系统菜单
  15. Python学习日记-day1基础篇 字符 输出 注释
  16. 四十六、基础框架(四)字符串物件
  17. SQuirreL SQL Client (小松鼠) 数据库连接工具
  18. 微信小程序版“美图秀秀”源码
  19. Spring Boot文件下载断点续传
  20. 《装机笔记》固态硬盘选择

热门文章

  1. Jason Brown的R快速入门方法
  2. 提升网站关键词的排名
  3. 分享 | 物体检测和数据集
  4. 百元级冷门高音质蓝牙耳机推荐,300左右为什么不试试这几款蓝牙耳机?
  5. 德语语法笔记——动词的变位
  6. [ROC-RK3568-PC] [Firefly-Android] 10min带你了解ADC的使用
  7. window本地代理及共享端口445修改
  8. RLC振荡原理与RC Snubber吸收电路
  9. 实现条码枪的无焦点扫码
  10. 在国企做程序员怎么样?