最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

脚本语言:python、ruby、shell

日志管理:ELK、Logentries

系统监控:Datadog、Graphite、Icinga、Nagios

性能监控:AppDynamics、New Relic、Splunk

压力测试:JMeter、Blaze Meter、loader.io

预警:PagerDuty、pingdom、厂商自带如AWS SNS

HTTP加速器:Varnish

消息总线:ActiveMQ、SQS

应用服务器:Tomcat、JBoss

Web服务器:Apache、Nginx、IIS

数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库

项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker

2.1.Git/GitLab介绍安装使用


2.1.1.介绍

Git是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub及国内的码云类似,用户在GitLab上注册账号,上传项目到GitLab,通过GitLab对项目进行版本控制。

2.1.2.安装 Git及GitLab

查询user.age和uesr.sex

git config user.age

git config user.sex

设置:

git config --global user.age “itcast”

git config --global user.sex"baidaguo@baidaguo.cn"

2.1.3.在GitLab创建项目

进入首页 点击New Project

在这里插入图片描述

输入对应信息并提交,创建成功后,进入项目主页,通过项目主页即可访问项目内容,并得到项目的Git项目仓库地址:

在这里插入图片描述

2.1.4.使用Git管理項目(Idea继承Git并对项目进行管理)

在这里插入图片描述

在这里插入图片描述

2.1.5.从GitLab检出项目

在这里插入图片描述

在这里插入图片描述

2.1.6.提交代码到GitLab

提交到暂存区->确认无误->push

如果用过svn的话都懂得 大差不差 总体没有什么难度

2.2.Docker


介绍就不多说 是在不知道是个啥玩意可看:

引用百度百科(百度百科Docker

Docker 源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。

官网:docker官网

2.2.1.组成

在这里插入图片描述

1、Docker daemon(Docker守护进程):

Docker守护进程是部署在操作系统上,负责支撑Docker Container的运行以及本地Image的管理。

2、Docker client:

用户不直接操作Docker daemon,用户通过Docker client访问Docker,Docker client提供pull、run等操作命令。

3、Docker Image:

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Tomcat或用户需要的其它应用程序。

镜像可以用来创建 Docker 容器。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

4、Docker Container:

Docker 利用容器来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。打个比方,镜像相当于类,容器相当于对象。

5、Docker Registry:

Docker 仓库分为公开仓库(Public)和私有仓库(Private)两种形式

最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。

用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

2.2.2.部署微服务到Docker

1.安装

centos7:

直接通过yum安装即可:yum install -y docker

启动docker:service docker start

查询docker版本:docker version

centos6:

rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install -y docker-io

service docker start

2.部署

1、工程最终打成 Jar包

2、创建Docker镜像

3、创建容器

4、启动容器

3.打包(省略了 大家都会)

4.创建镜像

上一步jar包拷贝到linux服务器先测试jar包是否可以运行:java -jar test-1.0-SNAPSHOT.jar

在test-1.0-SNAPSHOT.jar 位置编写Dockerfile文件

FROM java:8

ENV ARTIFACTID test

ENV ARTIFACTVERSION 1.0-SNAPSHOT

ENV HOME_PATH /home

WORKDIR $HOME_PATH

ADD / A R T I F A C T I D − ARTIFACTID- ARTIFACTIDARTIFACTVERSION.jar H O M E P A T H / HOME_PATH/ HOMEPATH/ARTIFACTID.jar

ENTRYPOINT [“java”, “-jar”, “test.jar”]

在Dockerfile文件所在目录执行:docker build -t test:1.0-SNAPSHOT.jar

镜像创建成功,查询镜像:

[root@localhost xc-govern-center]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

test 1.0-SNAPSHOT ad14dcce6666 35 seconds ago 684 MB

5.创建容器

基于test:1.0-SNAPSHOT镜像创建容器,容器名称为test-demo

docker create --name test-demo -t -p 50101:50101 -e PORT=50101 -e EUREKA_SERVER=http://192.168.101.64:50101/eureka/,http://192.168.101.64:50102/eureka/ test:1.0-SNAPSHOT

创建成功后 可通过docker ps -a命令查看

6.启动容器

docker start test-demo

7.停止与删除

1、停止正在运行的容器

docker stop 容器名

例如:docker stop test-demo

2、删除容器

docker rm 容器名

例如:docker rm test-demo

3、删除镜像

docker rmi 镜像名或镜像Id

例如:docker rmi test:1.0-SNAPSHOT

8.maven构建镜像

a.编写pom_docker.xml

b.将Dockerfile文件拷贝到src/main/resource下

c.删除之前创建的xc-govern-center镜像

d.进入工程根目录(pom_docker.xml所在目录)执行:mvn -f pom_docker.xml clean package -DskipTests docker:build

创建镜像成功,结果如下:

Successfully built 64682c9ba311

[INFO] Built xc-govern-center:1.0-SNAPSHOT

[INFO] Tagging xc-govern-center:1.0-SNAPSHOT with 1.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 7.409 s

[INFO] Finished at: 2018-07-19T14:21:16+08:00

[INFO] Final Memory: 52M/414M

[INFO] ------------------------------------------------------------------------

2.3.持续集成


问题描述:

传统的软件开发流程如下:

1、项目经理分配模块给开发人员

2、每个模块的开发人员并行开发,并进行单元测试

3、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。

4、测试人员发现bug,提交bug、开发人员修改bug

5、bug修改完毕再次集成、测试。

问题描述:

1、模块之间依赖关系复杂,在集成时发现大量bug

2、测试人员等待测试时间过长

3、软件交付无法保障

解决上述问题的思考:

1、能否把集成测试时间提前?

2、能否使用自动化工具代替人工集成部署的过程?

持续集成的思想是每天要多次将代码合并到主干,并进行集成、测试,这样就可以提早发现错误,进行修正。持久集成也属于DevOps

优点:

1、自动化集成部署,提高了集成效率。

2、更快的修复问题。

3、更快的进行交付。

4、提高了产品质量。

1.此处测试项目集成流程如下:

在这里插入图片描述

2.环境搭建

a.安装Jenkins 官网地址:Jenkins官网

具体安装文档网上都有的 没有私信博主也可以

b.安装GitLab(见上文)

c.pom

此文件相比工程原有pom.xml增加了docker-maven-plugin插件,其作用是构建docker镜像并将镜像推送到Docker私有仓库(192.168.101.64:5000)

2.4.创建持续集成任务


1.Jenkins构建一个任务

2.配置git仓库

a.配置git凭证

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐