Linux篇
常用命令
ls --help
:查看帮助文档的命令
pwd
:显示当前工作目录的路径
ifconfig
:查看ip地址 (windows上面是ipconfig
)
ping
:检查网络是否可以连同外网,例如ping 192.168.2.10
mkdir
:创建目录
touch
:创建文件
rm
:删除目录或文件
-r, -R, --recursive
(递归)
vi和vim文本编辑器
vi 1.txt
进去后,
i:插入模式
Esc:退出所有模式
wq:保存内容退出
!q:不保存内容退出
ps
:列出正在运行的进程
关于修改虚拟机IP和测试网络连接,已经在另一篇写过,这里就不再讲述
- 装好和修改好IP地址后,可以利用
FinalShell
进行连接,以便更好的进行操作 tar -zxvf xxxx.tar.gz
:解压tar.gz文件- java -jar :解压Java项目打包成的jar文件
配置环境
一、Linux中配置jdk:
1.查看当前Linux系统中是否存在相关java安装包:
rpm -qa | grep -i java
2.如果有的话需要进行卸载:rpm -e --nodeps 要卸载的安装包名称
3.利用finalshell上传压缩包版的JDK,也就是GZ文件
4.解压缩当前JDK:
#将压缩包中的文件和目录解压到/home目录下
tar -zxvf jdk-8u65-linux-x64.tar.gz -C /home
#修改文件夹的名称(可改可不改)
mv /home/jdk1.8.0_65/ /home/jdk1.8
5.配置环境变量
修改/etc/profile,设置以下内容(类似windows下的环境变量设置)
#set java environment
JAVA_HOME=/home/jdk1.8
PATH=$JAVA_HOME/bin:$PATH:.
export JAVA_HOME PATH
6.刷新配置文件并测试java命令
#刷新配置
source /etc/profile
7.查看java版本
java -version
二、Linux配置Tomcat:
1.上传tomcat9压缩包并解压到/home目录下
tar -zxvf apache-tomcat-9.0.37.tar.gz -C /home
将tomcat解压缩到/home目录下
mv /home/apache-tomcat-9.0.37/ /home/tomcat9
重命名解压的文件夹为tomcat9
2.启动tomcat9
cd /home/tomcat9/bin
进入tomcat9下的bin目录
./startup.sh
执行启动脚本
3.开放8080端口
4.访问tomcat测试 192.160.2.140:8080
三、LInux配置MYSQL
1.上传mysql安装包
2.安装mysql:
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server 安装mysql服务器
3.启动mysql服务
service mysqld start 启动mysql服务
service mysqld status 查看mysql服务状态
service mysqld stop 停止mysql服务
service mysqld restart 重启mysql服务
4.找出root的初始密码
grep "password" /var/log/mysqld.log
四、Linux下Redis的安装与使用:
1.以通过wget命令直接下载redis:
yum -y install wget
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
2.Redis安装:
2.1 安装gcc 9编译器
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
gcc --version 版本应该为9.3.1
2.2下载redis安装包解压并编译
yum -y install wget
安装wget命令
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
联网将压缩包下载到当前目录下
tar -zxvf redis-6.0.6.tar.gz -C /home
解压缩到home目录下
cd /home/redis-6.0.6/
进入redis根目录
make
编译redis源码
3.redis的启动
cd /home/redis-6.0.6/src
./redis-server
启动redis服务器
当在命令行按下ctrl+C的时候,此时就会关闭redis
3.2 Redis配置
配置redis后台启动并设置连接密码
vim /home/redis-6.0.6/redis.conf
在redis.conf中找到daemonize 和 requirepass进行以下修改
修改redis配置文件
daemonize yes
后台启动
requirepass 123456
设置连接密码为123456
启动redis
./redis-server /home/redis-6.0.6/redis.conf
需要让其根据配置文件启动
netstat -anp|grep 6379
查看6379端口占用情况
停止redis服务
./redis-cli shutdown
命令行连接Redis:
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
-h代表连接的主机
-p代表连接的端口号
-a代表密码
或者
./redis-cli -a 123456
五、Linux下Git的安装:
#采用压缩包的方式进行安装
1.# 安装编译依赖
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
2.#获取git压缩包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz
3.#解压缩到/home
tar -zxvf git-2.28.0.tar.gz -C /home
4.#进入git根目录
cd /home/git-2.28.0
5.#编译git源码并安装到/usr/local下
make prefix=/usr/local/git all
make prefix=/usr/local/git install
6.#删除旧版本git
yum -y remove git
7.#添加到环境变量
vim /etc/profile
#对末尾的环境变量进行修改,添加git命令目录
JAVA_HOME=/home/jdk1.8
GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$JAVA_HOME/bin:$PATH:.
8.#刷新环境变量
source /etc/profile
9.#查看版本号
git --version
Docker篇
docker概述
- Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码 在 GitHub 上进行维护。
- Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制, 相互之间不会有任何接口
- Docker创建的所有虚拟实例共用同一个Linux内核,对硬件占用较小,属于轻量级虚拟机
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中 的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、 删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
- 经常就是拉取镜像,创建容器,进入容器,启动容器;或者是后台启动(-itd)
docker和VM的区别
- Docker守护进程可以直接与主操作系统进行通信,为各个Docker容器分配资源;它还可以将容器 与主操作系统隔离,并将各个容器互相隔离。虚拟机启动需要数分钟,而Docker容器可以在数毫 秒内启动。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源。
安装&启动
更新系统包管理器和安装一些必要的工具:
sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker 软件仓库:
sudo yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker:
sudo yum install docker-ce
启动 Docker 服务并设置它在启动时自动启动:
sudo systemctl start docker
sudo systemctl enable docker
验证 Docker 安装:
docker -v
常用docker命令
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
#查看docker当前状态
systemctl status docker
#拉取镜像
docker pull name[:tag]
docker pull hello-world
#查看当前本地所有镜像
docker images
#搜索镜像,支持模糊匹配
docker search 镜像名称
docker search mysql
#删除镜像
docker rmi 镜像名称/镜像id
关于容器的命令
docker run -it --name myjava java bash
run:创建并且启动一个容器
it:启动容器后开启一个交互的界面
name:给容器定义名称
java:镜像的名称
bash:要在容器中运行的程序
端口映射:
docker run -it --name myjava -p 9000:8080 -p 9001:8085 java bash
把容器的8080端口映射在宿主机的9000端口上
把容器的8085端口映射在宿主机的9001端口上
docker run -it --name myjava -v /home/project:/soft --privileged java bash
把宿主机的/home/project目录映射到容器的/soft目录
-- privileged:表示docker在操作的时候是拥有读写宿主机目录权限的
====================================================================
拉取官方hello-world镜像
docker pull hello-world
#基于helloworld镜像启动一个容器
docker run hello-world
#拉取官方的ubuntu 16.04镜像
docker pull ubuntu:16.04
#以ubuntu镜像(也可以使用镜像id)启动一个名称为ubuntu-16.04的容器
docker run -it --name=ubuntu-16.04 ubuntu:16.04
#从容器内部退出,回到宿主机,此时容器也会被停止
exit
#以后台方式启动docker容器
docker run -itd --name=ubuntu-16.04-02 4b22027ede29
#在容器启动后还想再进入容器内部操作
docker exec -it ubuntu-16.04-02 /bin/bash
#查看所有启动的容器
docker ps
#查看所有容器(启动+未启动)
docker ps -a
#停止一个或多个容器
docker stop 容器名称/容器ID [容器名称/容器ID]...
#启动一个或多个已经停止的容器
docker start 容器名称/容器ID [容器名称/容器ID]...
#重启一个或多个容器
docker restart 容器名称/容器ID [容器名称/容器ID]...
#删除一个容器
docker rm 容器名称/容器ID
例如:docker rm 41291468f6e5
#删除所有已经停止的容器,运行中的容器不能删除
docker rm $(docker ps -a -q)
#查看所有镜像
docker images
#在宿主机挂载一个目录作为宿主机和容器共享文件的目录
#宿主机目录:容器目录
docker run -itd --name=ubuntu-02 -v /home/share:/home/share ubuntu:16.04
防火墙&开放端口命令
firewall-cmd --zone=public --add-port=6379/tcp --permanent 开放6379端口
--zone=public:表示作用域为公共的
--add-port=8080/tcp:添加tcp协议的端口8080
--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后效;
systemctl restart firewalld.service 重新加载
firewall-cmd --reload 重启防火墙
netstat -anp|grep 6379 查看端口占用情况
firewall-cmd --state 查看防火墙状态
systemctl restart firewalld.service 启动防火墙
systemctl stop firewalld 关闭防火墙
sudo kill -9 15666 杀死进程 15666:进程ID
配置开发环境
Docker中的部署:
sudo systemctl restart docker 重启docker
一、Docker安装&启动:
更新系统包管理器和安装一些必要的工具:
sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加 Docker 软件仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装 Docker:
sudo yum install docker-ce
启动 Docker 服务并设置它在启动时自动启动:
sudo systemctl start docker
sudo systemctl enable docker
验证 Docker 安装:
docker -v
二、docker中jdk部署:
docker search java
#拉取镜像
docker pull java:8
#使用镜像创建一个容器
docker run -itd --name=jdk8 d23bdf5b1b1b
#在容器内部使用
java -version
三、docker中部署Tomcat:
1.拉取tomcat
docker pull tomcat
2.#启动一个tomcat容器,并且映射端口(宿主机端口:容器端口)
docker run -itd -p 8083:8080 --name=tomcat9 tomcat:latest
3.#进入容器的tomcat目录,将webapps.dist 下的文件复制到 webapps下
#这样才能访问主页
docker exec -it tomcat9 /bin/bash
cp webapps.dist/ webapps
4.#宿主机开放8083端口
sudo firewall-cmd --zone=public --add-port=8083/tcp --permanent
sudo systemctl restart firewalld.service
sudo firewall-cmd --reload
四、Docker部署Mysql(单节点部署)
#拉取mysql
docker pull mysql:5.7.31
#启动mysql,通过-e指定root用户密码,使用navicat连接测试
docker run -itd --name=mysql-5.7.31 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root
mysql:5.7.31
五、docker中部署Redis(单机部署):
#拉取redis
docker pull redis
docker pull redis:4.0.14
#启动redis容器,并且映射目录
docker run -itd --name=redis4 -p 6379:6379 -v /home/share/redis/:/etc/redis/
redis:4.0.14 --requirepass 123456
#上传redis配置文件到宿主机的/home/share/redis/下
#进入redis4容器
docker exec -it redis4 /bin/bash
#redis加载redis.conf启动
cd /usr/local/bin
./redis-server /etc/redis/redis.conf
六、docker中部署RabbitMQ
#拉取RabbitMQ镜像
docker pull rabbitmq:management
#启动rabbitmq容器
docker run -itd -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
#开放5672和15672端口
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent
sudo systemctl restart firewalld.service
sudo firewall-cmd --reload