1、防火墙
bash
systemctl status firewalld # 查看防火墙状态
systemctl stop firewalld # 暂时关闭防火墙
systemctl disable firewalld # 永久关闭防火墙(开机不启动)
systemctl enable firewalld # 允许防火墙开机启动
systemctl start firewalld # 开启防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭指定端口
firewall-cmd --reload # 立即生效
firewall-cmd --zone=public --list-ports # 查看开放的端口
2、Docker服务
bash
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
# 设置docker服务开机启动
systemctl enable docker.service
# 关闭docker服务开机启动
systemctl disable docker.service
# 镜像操作
docker images # 查看镜像
docker rmi 镜像名 # 删除镜像
docker pull # 拉取镜像
docker push # 推送镜像
docker save -o 打包名 需要打包的镜像 #打包镜像
# 如:docker save -o pandora.tar pengzhile/pandora:latest
docker load -i 镜像包名 # 加载镜像
# 如:docker load -i pandora.tar
# 容器操作
docker container start 容器名 # 启动容器 container可不加
docker restart 容器名 # 重启容器
docker ps -a # 查看已经存在容器(包括未运行的容器)
docker rm -f 容器名 # 删除容器(包括正在运行的容器)
docker logs -f 容器名 #查看对应容器的日志 -f表示跟踪日志输出
# exec:进入容器内部,执行一个命令 -it: 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
# bash:进入容器后执行的命令,bash是一个linux终端交互命令
docker exec -it 容器名 /bin/bash # 进入容器
exit # 退出进入的容器
# 数据卷
docker volume create 数据卷名 # 创建一个volume
docker volume inspect 数据卷名 # 显示一个或多个volume的信息
docker volume ls # 列出所有的volume
docker volume prune # 删除未使用的volume
docker volume rm 数据卷名 # 删除一个或多个指定的volume
docker inspect [容器名称] |grep Mounts -A 20 # 查看容器挂载情况
# --name:指定容器名称 -p:指定端口映射 -d:让容器后台运行 -v:文件或目录挂载
# 启动Nginx容器
docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx
#启动Redis容器
docker run --name mr -p 6379:6379 -d redis
# 启动mysql容器
docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=1111 \
-p 3306:3306 \
-v /root/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /root/mysql/data/:/var/lib/mysql \
-d mysql:5.7.25
# 自定义镜像构建
docker build -t 镜像名 . # 镜像命名格式:javaweb:1.0 其中.表示Dockerfile在当前目录
# 推送镜像到私有镜像服务必须先tag,步骤如下:
# 1、重新tag本地镜像,名称前缀为私有仓库的地址:192.168.150.101:8080/
docker tag nginx:latest 192.168.150.101:8080/nginx:1.0
# 2、推送镜像
docker push 192.168.150.101:8080/nginx:1.0
# 3、拉取镜像
docker pull 192.168.150.101:8080/nginx:1.0
docker update --restart=always 容器ID/容器名
3、Redis
bash
systemctl enable redis # 设置redis开机自启
systemctl disable redis #禁止redis开机自启
systemctl start redis #启动redis服务
# 启动redis(注意config路径问题)
redis-server redis-config
# 登陆redis(默认端口是6379)
redis-cli -p 端口号
# 登陆redis(集群模式)
redis-cli -c -p 端口号
# 设置主从节点
slaveof ip port
# 查看redis集群各个节点关系(登陆状态)
info replication
# 查看集群状态
redis-cli -p 7001 cluster nodes
# 手动故障转移,使slave节点转变成master节点(登陆状态)
clustr failover
# 添加新节点到指定集群(第一个ip:port为新节点ip:port,第二个ip:port为集群中节点ip:port)
redis-cli --cluster add-node ip:port ip:port
# 对某个muster节点重新分片(将muster节点的部分插槽分配给一个新的master节点)
redis-cli --cluster reshard
4、Nginx
bash
#配置nginx环境变量
export NGINX_HOME=/usr/local/openresty/nginx
export PATH=${NGINX_HOME}/sbin:$PATH
# 启动nginx(配置好环境变量以后)
nginx
# 重新加载配置
nginx -s reload
# 停止
nginx -s stop
5、常用
bash
netstat -tunlp # 显示所有端口和所有对应的程序
ps -ef | grep 程序名 # 查看对应程序的端口号
kill -9 进程id # 杀死对应进程id的进程
systemctl restart network # 重启网络服务(修改网络配置时需要)
# 修改配置文件后需要使其生效
source /etc/profile
#配置静态ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.11.198
NETMASK=255.255.255.0
GATEWAY=192.168.11.2
DNS1=192.168.11.2 # 223.5.5.5
systemctl restart network
# 查看linux版本
cat /etc/redhat-release
# 查看主机名
hostnamectl
# 主机名解析
vim /etc/hosts
ip地址 域名
# 查看端口占用情况
netstat -tuln
# 查看某一端口占用情况
netstat -tln | grep 80
# 查看端口被哪个进程占用
lsof -i :9999
# windows端口设置
# 查询保留端口,*标注的代表这些范围内的端口不会被作为保留端口使用
netsh interface ipv4 show excludedportrange protocol=tcp
# 排除端口
netsh int ipv4 add excludedportrange protocol=tcp startport=8081 numberofports=1
6、Vim
bash
# vim文本编辑器显示行号
:set nu
# vim快速切换到行尾
shift+g
gg # vim快速切换到行
shift+$ # 定位到本行末尾
dd # 删除当前行
# 安装vim
yum -y install vim