1. Centos 7.2
-
设置允许连接网络:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 #编辑配置文件 BOOTPROTO=static ONBOOT=yes IPADDR=172.16.40.173 NETMASK=255.255.255.0 GATEWAY=172.16.40.1 DNS1=114.114.114.114 #重启service service network restart
-
安装软件
yum install net-tools yum install wget yum install vim yum install ntpdate yum -y install lrzsz yum -y install gcc yum -y install gcc-c++
卸载旧版本
-
换源 进入到/etc/yum.repos.d/目录:
cd /etc/yum.repos.d/ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache #安装epel源 yum list | grep epel-release yum install -y epel-release wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache # yum repolist enabled yum repolist all
-
修改时间
#改时间 ntpdate 218.186.3.36 timedatectl set-timezone Asia/Shanghai 0 */2 * * * /usr/sbin/ntpdate -u ntp.api.bz > /dev/null 2>&1; /sbin/hwclock -w #改时区 SSDB(sequence similarity database)
2. 指令
#添加一个user的新账号
groupadd user
tail /etc/group
useradd -d /home/user -g 1001 -u 1001 -m -s /bin/bash user
passwd user
#更改文件所属用户组
chown -R user /home/software
chgrp -R user /home/software
#查看端口
netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
查看一台服务器上面哪些服务及端口
netstat -lanp
#查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
#查看java
jps
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306 |wc
#查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep 3306
netstat -an 查看网络端口
#查看文件大小
du -h ftp
#查看磁盘
df -u
#测速
pip install speedtest-cli
运行命令:
speedtest-cli --bytes
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
nmap 端口扫描
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
netstat -anp 显示系统端口使用情况
常用组合:
netstat -lntup
说明: l:listening n:num t:tcp u:udp p:process
#安装lrzsz
#apt-get install lrzsz
yum -y install lrzsz
#上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。
rz
#下载文件,执行命令sz
sz
3. mysql安装
-
移除mariadb数据库
yum remove mariadb-libs.x86_64 -
cd /usr/local/
-
wget https://dev.mysql.com/get/mysql57-community-release-e17-11.noarch.rpm
-
yum localinstall mysql57-community-release-el7-11.noarch.rpm
-
yum install mysql-community-server
-
service muysqld start
-
查密码cat /var/log/mysqld.log |grep password
-
mysql -uroot -p
-
输入密码
-
修改全局参数:
set global validate_password_policy=0;
set global validate_password_length=1; -
设密码
SET PASSWORD = PASSWORD(‘123456’); -
exit
-
iptables -L INPUT -p tcp --dport 3306 -j ACCEPT
-
mysql -uroot -p123456
-
依次执行如下命令:(添加远程连接)
use mysql;
update user set host = ‘%’ where user =‘root’;
flush privileges;
-
改字符集
show VARIABLES like 'character%'; 修改my.cnf配置文件(mysql配置文件) character_set_server = utf8 #设置字符集 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm rpm -ivh mysql80-community-release-el7-3.noarch.rpm yum install mysql mysql-server -y
3.1. 使用
1.service mysqld start
2.mysql -uroot -p123456
3.show databases;
4.use [数据库名]
5.show tables;
6.exit
4. tomcat
#tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz
tar -zxvf apache-tomcat-9.0.20.tar.gz
sh /home/software/apache-tomcat-9.0.20/bin/startup.sh
sh /home/software/apache-tomcat-9.0.20/bin/shutdown.sh
ps -ef | grep java
kill -9 1858
lsof -i:8080
#netstat -p | grep 8080
vi /home/software/apache-tomcat-9.0.20/conf/server.xml
tail -100 /home/software/apache-tomcat-9.0.20/logs/catalina.out
mvn spring-boot:run
#mvn install:install-file -Dfile=/home/api-client-1.0.0.jar -DgroupId=org.huawei -DartifactId=api-jar -Dversion=1.0 -Dpackaging=jar
#mvn install:install-file -Dfile=E:\workspaces\OceanConnect_Java_SDK_Demo\lib\api-client-1.0.0.jar -DgroupId=org.huawei -DartifactId=api-jar -Dversion=1.0 -Dpackaging=jar
5. jdk
cd /usr/local
mkdir java
cd /usr/local/java
yum install tar
tar -zxvf jdk1.8.tar.gz
mv jdk1.8 jdk
vim /etc/profile
JAVA_HOME=/usr/local/java/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
source /etc/profile
#jdk
wget https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz?AuthParam=1558042901_134f6c4f31ff682567fbd19dbbf85650
mv jdk-8u211-linux-x64.tar.gz?AuthParam=1558042901_134f6c4f31ff682567fbd19dbbf85650 jdk1.8.tar.gz
tar -zxvf jdk1.8.tar.gz
vi /etc/profile
#添加
export JAVA_HOME=/home/software/jdk1.8.0_211
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH
6. kafka
- wget http://apache.fayea.com/kafka/1.1.0/kafka_2.12-1.1.0.tgz
/usr/local 路径下 - 解压tar -zxvf kafka_2.12-1.1.0.tgz
mv kafka_2.12-1.1.0.tgz-1.1.0 kafka - 编辑server.properties
vim /usr/local/kafka/config/server.properties
添加
listeners=PLAINTEXT://172.16.40.173:9092
- 对外开放 9092端口
iptables -l INPUT 1 -p tcp --dport 9092 -j ACCEPT
6.1. 使用
-
启动Zookeeper服务器
cd /usr/local/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties -
启动kafka服务
cd /usr/local/kafka
bin/kafka-server-start.sh config/server.properties & -
建"test" Topic 只有一个分区和一个备份
cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
选项说明:
–topic 定义topic名
–replication-factor 定义副本数
–partitions 定义分区数
kafka0.9以后
#删除topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic test
#需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
#生产者
bin/kafka-console-producer.sh --broker-list 172.16.40.173:9092 --topic test
#消费者
bin/kafka-console-consumer.sh --bootstrap-server 172.16.40.173:9092 --topic test --from-beginning
kafka之前
#发送消息
bin/kafka-console-producer.sh
--broker-list hadoop102:9092 --topic first
>hello world
>atguigu atguigu
#消费消息
bin/kafka-console-consumer.sh --zookeeper hadoop102:2181 --from-beginning --topic test
--from-beginning:会把first主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。
#查看某个Topic的详情
[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first
#通过以下命令查看已创建的topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181 test
#发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
#消费消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
startvm "D:\VM\ubuntu\Ubuntu 16.04.6.vmx"
D:\virtualbox\VBManage.exe startvm centos
D:\virtualbox\VBManage.exe controlvm centos pause(savestate)
D:\virtualbox\VBManage.exe controlvm centos resume
schtasks /create /tn "shutdown" /tr "D:\timetask\shutdown.bat" /sc DAILY /st 16:59
schtasks /create /tn "vmstart" /tr "D:\timetask\vmstart.bat" /sc DAILY /st 08:33
schtasks /create /tn "vmsuspend" /tr "D:\timetask\vmsuspend.bat" /sc DAILY /st 16:58
7. docker
7.1. Docker
leobuskin/ssdb-docker
#安装docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
#配置docker加速器
vim /etc/docker/daemon.json
#编辑json文件
{
"registry-mirrors": ["https://czcjm3w6.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl start docker
systemctl enable docker
docker version
#忽略 安装Docker维护的版本
sudo apt-get install -y curl
curl -sSL https://get.docker.com/ubuntu/ |sudo sh
docker run ubuntu echo 'Hello world'
使用非root用户:
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
7.2. docker命令
命令 | 说明 |
---|---|
docker images –no-trunc | 显示完整的镜像信息 |
docker pull tomcat:latest | |
docker rmi -f $(docker images -qa) | 批量删除 |
docker run -it --name=mycentos0115 {id/name} | 启动交互式 |
docker run -d {id/name} | 后台运行容器 |
ctrl+P+Q | |
docker attach {name} | 附加到交互式容器 重新进入 |
docker exec -t {name} ls -l /tmp | 执行任务 不需要进入交互式容器 |
docker start 容器ID/name | |
docker rm {docker ps -qa} | |
docker ps -qa | xargs docker rm | 删除多个容器 |
docker logs [-f] [-t] [–tail] 容器名 | 查看容器日志 |
docker logs -tf --tail 0 dc1 | |
docker top dc1 | 查看容器进程 |
docker ps | 查看容器: |
docker ps -a -l -q只显示编号 -n 3上3条启动信息 | |
docker inspect {id/name} | 查看容器内部细节 |
docker cp {id}:/temp/yum.log /root | 从容器内拷贝文件到主机上 |
docker run -it -p 8080:8080 docker exec -it {id} /bin/bash | |
docker commit -a=“zuozhe” -m=“tomcat without docs” {id} mytomcat:1.2 | “提交的描述信息” “作者” 容器ID要创建的目标镜像名:[标签名] |
docker update --restart=always 容器id | docker永久自启动 |
容器数据卷:
-
docker cp
-
docker run -it -v /宿主机绝对路径目录:/容器内目录 {name}
docker run -it centos /bin/bash
docker run -it --name {name} --volumes-from {name} {image}
数据卷的生命周期一直持续至没有容器使用为止
容器的持久化
容器间继承+共享数据
- 手动编写一个dockerfile文件,当然,必须要符合file的规范
- 有这个文件后,直接docker build命令执行,获得一个自定义的镜像
- run
maven build
jar
java -jar mession…
7.2.1. Dockerfile
是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本。
7.2.1.1. 构建三步骤
- 编写dockerfile文件
- docker build
- docker run
7.2.1.2. dockerfile构建过程解析
docker run -it centos /bin/bash
7.2.1.3. dockerfile内容基础知识
- 每条保留字指令都必须为大写字母且后面要跟随至少一个参数
- 指令按照从上到下,顺序执行
- #表示注释
- 每条指令都会创建一个新的镜像层,并对镜像进行提交
7.2.1.4. docker执行dockerfile的大致流程
- docker从基础镜像运行一个容器
- 执行一条指令并对容器作出修改
- 执行类似docker commit的操作提交一个新的镜像层
- docker再基于刚提交的镜像运行一个新容器
- 执行dockerfile中的下一条指令知道所有指令都执行完成
从应用软件的角度来看,dockerfile、docker镜像与docker容器分别代表软件的三个不同阶段
- dockerfile是软件的原材料
- docker镜像是软件的交付品
- docker容器则可以认为是软件的运行态
7.2.1.5. dockerfile保留字指令
FROM | 基础镜像,当前新镜像是基于哪个镜像的 |
MAINTAINER | 镜像维护者的姓名和邮箱地址 |
RUN | 容器构建时需要运行的命令 |
EXPOSE | 暴露的端口号 |
WORKDIR | 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点 |
ENV | 用来在构建镜像过程中设置环境变量 |
ADD | 拷贝加解压缩还会自动处理URL |
COPY | 拷贝 |
VOLUME | 容器数据卷 |
CMD | 指定启动执行命令cmd会被docker run之后的参数替换 |
ENTRYPOINT | 同cmd 但会追加 |
ONBUILD | 当构建一个被继承的dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发 |
from centos
ENV mypath /tmp
WORKDIR $mypath
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success--------ok"
CMD /bin/bash
docker build -f /mydocker/Dockerfile2 -t mycentos:1.3 .
entrypoint
docker run 之后的参数会被当做参数传递给ENTRYPOINT,之后
以当前dockerfile build新镜像
docker images mycentos:1.3
docker images mycentos
docker run -it mycentos:1.3
FROM centos
MAINTAINER GDZY<gdzy@126.com>
#把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
COPY c.txt /usr/local/cincontainer.txt
#把java与tomcat添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.8.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_171
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.8
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
#ENTARYPOINT ["/usr/local/apache-tomcat-9.0.8/bin/startup.sh"]
#CMD ["/usr/local/apache-tomcat-9.0.8/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.8/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.8/bin/logs/catalina.out
在当前路径有Dockerfile直接构建
docker build -t zzyytomcat9 .
docker run -d -p 9080:8080 --name myt9
-v /zzyyuse/mydockerfile/tomcat9/test:/usr/local/apache-tomcat-9.0.8/webapps/test
-v /zzyyuse/mydockerfile/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.8/logs
–privileged=true
zzyy tomcat9
docker pull mysql:5.6
docker exec {ID} sh -c ’ exec mysqldump --all-databases -uroot -p"123456" ’ > /zzyyuse/all-databases.sql
docker pull redis:3.2
docker run -p 6379:6379
-v /zzyyuse/myredis/data:/data
-v /zzyyuse/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf
-d redis:3.2 redis-server /usr/local/etc/redis/redis.conf
–appendonly yes
docker commit -a zzyy -m “new mycentos1.4 with vim and ifconfig” {ID} mycentos:1.4
把war包丢到宿主机 在丢到container里面丢到tomcat/webapps
docker cp NginxDemo.war {ID} :/usr/local/tomcat/webapps
#启动交互式容器
docker run -it ubuntu /bin/bash
--name=container01
#附加到交互式容器
docker attach {name}
#查看容器:
docker ps
docker ps -a -l -q只显示编号 -n 3上3条启动信息
#最新
-l
#重新启动已停止容器
docker start [-i] 容器名
#删除已经停止容器
docker rm [容器名]
#启动守护式容器
docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 2;done"
#查看容器日志
docker logs [-f] [-t] [--tail] 容器名
docker logs -tf --tail 0 dc1
#查看容器进程
docker top dc1
#在运行中容器进行多个进程
docker exec -i -t dc1 /bin/bash
#停止守护式容器
docker stop 容器名
docker kill 容器名
Nginx部署流程
- 创建映射80端口的交互式容器
- 安装Nginx
- 安装文本编辑器vim
- 创建静态页面
- 修改Nginx配置文件
- 运行Nginx
- 验证网站访问
#设置容器的端口映射
docker run -p 80 --name web -i -t ubuntu /bin/bash
apt-get install -y nginx
apt-get install -y vim
mkdir -p /var/www/html
cd /var/www/html
vim index.html
whereis nginx
ls /etc/nginx/sites-enabled
vim default
改root /var/www/html
#查看端口映射情况
docker port web
curl http://ip:映射端口
docker inspect看IPAddress
#启动(重启容器时ip和端口可能变化)
docker exec web nginx
7.2.1.6. ubuntu18.04安装docker
开始安装doker
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
这个时间点(2018.06.09),Ubuntu 18.04 LTS (Bionic Beaver) 对应的docker package is not available,所以只能通过下面的语句安装stable存储库
add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable”
不能使用下面的语句,我就踩了很多坑,很多博客都推荐下面的语句,这样就会导出docker-ce安装不上
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
再更新一下apt包索引:
sudo apt-get update
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
xmind
8. git
0)安装依赖软件
[root@uatjenkins01 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
[root@uatjenkins01 ~]# yum install gcc perl-ExtUtils-MakeMaker
1)卸载系统自带的底版本git(1.7.1)
[root@uatjenkins01 ~]# git --version
git version 1.7.1
[root@uatjenkins01 ~]# yum remove git
2)编译安装最新的git版本
[root@uatjenkins01 ~]# cd /usr/local/src/
[root@uatjenkins01 src]# wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xz
[root@uatjenkins01 src]# tar -vxf git-2.15.1.tar.xz
[root@uatjenkins01 src]# cd git-2.15.1
[root@uatjenkins01 git-2.15.1]# make prefix=/usr/local/git all
[root@uatjenkins01 git-2.15.1]# make prefix=/usr/local/git install
[root@uatjenkins01 git-2.15.1]# echo “export PATH=$PATH:/usr/local/git/bin” >> /etc/profile
[root@uatjenkins01 git-2.15.1]# source /etc/profile
[root@uatjenkins01 ~]# git --version
git version 2.15.1
9. vscode
IdentityFile C:\Users\fineg.ssh\id_rsa
安装oh-my-zsh(自动)
sh -c “$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)”
- ssh-keygen -t rsa -b 4096 -f C:\Users\fineg.ssh\id_rsa
- ssh-copy-id -i id_rsa.pub 19.110.1.99
cat id_rsa.pub >> authorized_keys
authorized_keys
18.04默认root不开启ssh
修改SSH配置文件
命令:sudo vim /etc/ssh/sshd_config,找到PermitRootLogin without-password 修改为PermitRootLogin yes
重启SSH服务
命令:service ssh restart