Linux 常用命令记录

Linux 常用命令记录

内容还在不断的补充和更新,如有错误,烦请指正!

一、端口相关

# 1.查看已开放的端口列表
firewall-cmd --zone=public --list-port
# 2.查询一个端口是否开放(举例8888)
firewall-cmd --query-port=8888/tcp
# 3.开放一个端口(举例9000) 
# --zone #作用域 --add-port=1935/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=9000/tcp --permanent
# 4.关闭一个端口(举例9000)
firewall-cmd --zone=public --remove-port=9000/tcp --permanent
# 5.修改端口相关信息侯通过重启防火墙让其生效
firewall-cmd --reload
# 6.查看某个端口的使用情况
netstat -ntulp |grep 9000
#查看服务器IP地址
ip addr

二、防火墙相关

# 查看防火墙状态
firewall-cmd --state
# 开启防火墙
systemctl start firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 重启防火墙
firewall-cmd --reload

三、安装telnet

# 1.检查服务器有没有安装telnet客户端和telnet服务端
rmp -q telnet
rpm -q telnet-server
# package telnet-server is not installed代表没安装
# 2.下载安装telnet的客户端和服务端
#列出telnet相关的安装包
yum list telnet* 
#安装telnet服务
yum install telnet-server
#安装telnet客户端
yum install telnet.*           

四、安装宝塔面板

#Centos安装脚本
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
#Ubuntu/Deepin安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
#Debian安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec

五、安装Docker

#----卸载docker,如果服务器没有安装过docker可以不用这几步----
#停止docker
systemctl stop docker
#卸载docker
yum -y remove docker-ce docker-ce-cli containerd.io
#移除docker目录
rm -rf /var/lib/docker

#----安装docker----
#安装gcc相关环境
yum -y install gcc
yum -y install gcc-c++
#卸载旧版本
yum remove docker \
         		  docker-client \
         		  docker-client-latest \
         		  docker-common \
         		  docker-latest \
         		  docker-latest-logrotate \
         		  docker-logrotate \
         		  docker-engine
 #安装需要的软件包
 yum install -y yum-utils
 #设置镜像仓库
  	#中央仓库
  	yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
  	#推荐使用国内的
 	yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 #更新yum软件包索引
 yum makecache fast
 #安装Docker CE
 yum install docker-ce docker-ce-cli containerd.io
 #启动docker
 systemctl start docker
 #配置阿里云镜像加速服务
 sudo mkdir -p /etc/docker
 sudo tee /etc/docker/daemon.json <<-'EOF'
 {
  "registry-mirrors": ["https://sq6f7iyd.mirror.aliyuncs.com"]
 }
 EOF
 sudo systemctl daemon-reload
 sudo systemctl restart docker
 #测试命令
 docker version
 docker run hello-world
 docker images
 #查看docker的状态(running说明启动成功,运行状态)
 sudo systemctl status docker
 #设置docker开机自启动
 sudo systemctl enable docker

六、Docker相关命令

#守护进程重启   
sudo systemctl daemon-reload
#重启docker服务  
sudo systemctl restart  docker
#重启docker服务  
sudo service docker restart
#关闭docker  
sudo service docker stop   
#关闭docker  
sudo systemctl stop docker
# 查找镜像命令
docker search 镜像名称
# 拉取镜像命令
docker pull 镜像名称
# 查看当前docker容器列表
docker images
# 查看当前正在运行的容器
docker ps
# 查看所有运行过的容器(正在运行的和历史的)
docker ps -a
# 查看docker的磁盘使用情况
docker system df
# 清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
docker system prune -a
#查看Docker的cpu占用率
docker stats
#Docker导出现有镜像
docker save 镜像名:标签 > 相对路径
docker save gzmpcli-dispatch-center:latest > /data/gzmpcli-dispatch-center/test/gzmpcli-dispatch-center.tar
#Docker导入已有的镜像
docker load < 镜像路径/镜像名
docker load < /data/gzmpcli-dispatch-center/gzmpcli-dispatch-center.tar
#导入成功后通过docker images 命令可以看到刚刚导入的镜像
# 删除镜像
docker rmi 容器名称
# 删除所有镜像
docker rmi -f $(docker images -aq)
# 查看docker容器的进程信息
docker top 容器ID/名称
# 从容器中拷贝文件到主机
docker cp 容器ID:/etc/nginx/conf.d /data/nginx/conf
# 停止运行的容器(通过docker ps可以看到正在运行的容器ID)
docker stop 容器ID
# 开启一个容器
docker start 容器ID
# 重启一个容器
docker restart 容器ID
# 启动一个容器
	# -d 以后台的方式运行
	# -p 端口映射 宿主机端口:容器内部端口
	# --name 给容器启别名
docker run -d -p 8090:8090 --name web-01 镜像名称
#如果需要将容器内的时间和宿主机的时间保持一致则需要加上参数(你所启动的项目包含定时任务时需要注意)
docker run -d -p 9998:9998 --name workzaoan_9998 -v /etc/localtime:/etc/localtime workzaoan
# 进入容器内部
docker exec -it 容器ID/名称 /bin/bash
# 不进入容器查看容器的IP地址
docker exec -it 容器ID/名称 ip addr
# 从容器中退出命令
exit
# 通过Dockerfile构建镜像命令(需在Dockerfile所在目录下执行)
docker build -t 构建后镜像名称(自定义).
# 举例
docker build -t workjiao_web .
# 查看容器日志命令
docker logs -f 容器ID
# 实时查看最后500条日志
docker logs -f --tail=500 容器ID
# 查看最近30分钟的日志
docker logs --since 30m 容器ID
# 查看某时间之后的日志的最新500条日志
docker logs --since="2021-11-30" --tail=500 容器ID
# 查看某时间之后的日志
docker logs -t --since="2021-11-30T00:00:00" 容器ID
# 查看某时间段日志
docker logs -t --since="2021-11-30T00:00:00" --until "2021-12-30T00:00:00" 容器ID

######## docker中启动JAR包输出的日志时间与系统时间不一致的解决办法 #########
#1.做容器时间与宿主机时间的映射,在运行docker容器时添加以下参数
-v /etc/localtime:/etc/localtime
#举例
docker run -d -p 9998:9998 --name workzaoan_9998 -v /etc/localtime:/etc/localtime workzaoan
#这个时候会发现在宿主机上使用date命令和在容器内部使用date命令时间已经一致,但是java应用输出的日志和系统时间还是相差8小时
#这个时候就需要修改Dockerfile文件了,加上参数 "-Duser.timezone=GMT+08"
#举例
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=9000"]
EXPOSE 9000
ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+08","/app.jar"]

6.1 docker 安装Nacos注册中心

#查询镜像
docker search nacos
#拉取镜像
docker pull nacos/nacos-server
#运行镜像
docker run -d -p 8848:8848 --name nacos-8848 nacos/nacos-server
#目录挂载
docker cp nacos-8848:/home/nacos /data/
#停止旧容器
docker stop nacos-8848
docker rm nacos-8848
#启动新容器
#启动模式为单机模式,MODE=standalone
docker run -d -p 8848:8848 --name nacos -v /data/nacos:/home/nacos -e MODE=standalone nacos/nacos-server
#服务器开放8848端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent
#重启防火墙
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口
#阿里云控制台检查是否开放安全组8848
#访问 IP:8848/nacos
#用户名:nacos
#密码:nacos

6.2 docker安装redis命令

#查找镜像
docker search redis
#拉取镜像
docker pull redis
#挂载目录准备
cd /data
mkdir redis
cd redis
mkdir conf
mkdir data
#下载Redis配置文件
cd /data/redis/conf
wget http://download.redis.io/redis-stable/redis.conf
#修改redis配置文件
vim redis.conf

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
dir  ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
requirepass 147852 密码
#启动redis
docker run -d -p 6379:6379 --name redis-01 --privileged=true -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes
#启动参数解释
-d                                                  		-> 以守护进程的方式启动容器
-p 6379:6379                                        		-> 绑定宿主机端口
--name redis 					    			 		 -> 指定容器名称
--restart always                                    		-> 开机启动
--privileged=true                                   		-> 提升容器内权限
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf  	 	-> 映射配置文件
-v /data/redis/data:/data                  				   -> 映射数据目录
--appendonly yes                                    	    -> 开启数据持久化
#启动成功后如果需求修改redis的配置可以直接修改宿主机的/data/redis/conf/redis.conf,然后重启redis容器以生效
#重启redis容器命令
docker restart 容器ID
#开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重启防火墙生效
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口

6.3 docker 安装Sentinel

# Sentinel 参考官方文档:https://github.com/alibaba/Sentinel/wiki/控制台
#拉取镜像
docker pull bladex/sentinel-dashboard
#运行镜像
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard

#开放8858端口
firewall-cmd --zone=public --add-port=8858/tcp --permanent
#重启防火墙生效
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口

#访问地址
dashboard 地址:http://IP:8858 (默认端口为8080)
账号密码都为:sentinel

6.4 docker安装MySQL

#查找镜像
docker search mysql
#拉取镜像
docker pull mysql:5.7
#创建挂载目录
cd /data
mkdir -p /data/mysql/data
mkdir -p /data/mysql/config
mkdir -p /data/mysql/logs
#在config文件夹中创建 mysqld.cnf
vim  /data/mysql/config/mysqld.cnf
#填写以下内容
[mysqld] 
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
[mysql] 
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
#启动mysql容器
docker run --privileged=true --restart=always --name mysql5.7 -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=jqx19980726 -v /data/mysql/data:/var/lib/mysql -v /data/mysql/config:/etc/mysql/conf.d -v /data/mysql/logs:/var/log/mysql -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --default-time_zone='+8:00'

#启动参数说明
--lower_case_table_names=1  			表名存储在磁盘是小写的,但是比较的时候是不区分大小写,如果配置文件里有写,就不用写
 --restart=always 						当 Docker 重启时,容器自动启动
--name mysql5.7   						起别名
-p 3306:3306     						映射端口
d mysql:5.7      						指定运行版本
-e MYSQL_ROOT_PASSWORD="123456":		设置root用户密码
--character-set-server=utf8mb4:		设置字符集为utf8mb4
--collation-server=utf8mb4_unicode_ci:	设置字符比较规则为utf8mb4_unicode_ci
--privileged=true  						获取宿主机的root权限
-v   		   							目录挂载
#开通外部连接权限
docker exec -it mysql5.7 /bin/bash
mysql -uroot -p密码
use mysql;
update user set host = '%' where user ='root';
flush privileges;
select host,user from user where user=’root’;
#开放MySQL的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重启防火墙生效
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口

6.5 docker安装RabbitMQ

#查找镜像
docker search rabbitmq
#拉取最新版的镜像
docker pull rabbitmq
#创建并启动rabbitMq容器
docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --hostname myRabbit --name rabbitmq rabbitmq

#启动参数说明
-d:表示在后台运行容器;
-p:将容器的端口 5672(应用访问端口)和 15672 (控制台Web端口号)映射到主机中;
-e:指定环境变量:
 RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
 RABBITMQ_DEFAULT_USER:默认的用户名;
 RABBITMQ_DEFAULT_PASS:默认的用户密码;
--hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
--name rabbitmq:设置容器名称;
rabbitmq:容器使用的镜像名称;

#设置docker启动的时候自动启动(可选,根据自己的需要决定是否要设置)
docker update rabbitmq --restart=always
#启动rabbitmq_management(RabbitMQ的管理界面)
	#方法一:
	docker exec -it rabbitmq /bin/bash
	---------------------------------
	user@7b295c46c99d /: rabbitmq-plugins enable rabbitmq_management
	user@7b295c46c99d /:exit #退出容器
	
	#方法二:
	docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
#开放服务器的15672端口和5672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
#重启防火墙生效
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口
#访问RabbitMQ 的管理界面
#http://ip:15672
#用户名:admin
#密码:admin

6.6 docker安装Nginx

#查找镜像
docker search nginx
#拉取镜像
docker pull nginx
#创建Nginx挂载目录
mkdir -p /data/nginx/conf
mkdir -p /data/nginx/html
mkdir -p /data/nginx/log
#创建临时的nginx
docker run -d --name nginx-test nginx
#拷贝容器的挂载文件
docker cp nginx-test:/etc/nginx/conf.d /data/nginx/conf
docker cp nginx-test:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker cp nginx-test:/usr/share/nginx/html/index.html /data/nginx/html/index.html
#删除临时的nginx
docker rm -f nginx-test
#正式运行nginx并挂载目录
# 这种启动方式如果配置监听多端口时,其它无法访问,因为启动的时候指定了80端口
docker run -d -p 80:80 --name nginx-01 -v /data/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/html/index.html:/usr/share/nginx/html/index.html -v /data/nginx/log:/var/log/nginx nginx
#如果想要多个端口起效果,则将 -p 80:80 换成 --net host,即
docker run -d --net host --name nginx-01 -v /data/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/html/index.html:/usr/share/nginx/html/index.html -v /data/nginx/log:/var/log/nginx nginx

#测试访问
curl 127.0.0.1:80
########正确返回结果#######
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
########正确返回结果#######
#开放nginx的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙生效
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口
#访问nginx 的欢迎界面
#http://ip:80

#Nginx的负载均衡配置
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    #这里不注释那么用的就是这里的配置
    #include /etc/nginx/conf.d/*.conf;
    
    #配置负载均衡
    upstream webbalance{
        server 106.12.133.53:9000 weight=1;
        server 106.12.133.53:9001 weight=2;
        server 106.12.133.53:9002 weight=3;
    }
    server{
       listen 80;
       #在此处添加域名映射的规则
       server_name localhost;
       location / {
            #root   /usr/share/nginx/html;
            #index  index.html index.htm;
            proxy_pass http://webbalance;
        }
    }
}
#浏览器只用访问
http://106.12.133.58/test/loadBalance

6.7 docker安装tomcat

#查找镜像
docker search tomcat
#拉取镜像
docker pull tomcat

6.8 docker 安装Portainer

#Docker的可视化管理工具
#1.查询镜像
docker search portainer
#2.下载镜像
 docker pull portainer/portainer
#3.创建Portainer存储目录
mkdir -p /data/portainer/data
#4.下载汉化包
wget https://raw.githubusercontent.com/renyinping/portainer-cn/master/Portainer-CN.zip
#5.解压汉化包
unzip Portainer-CN.zip -d public
#6.
docker run -d -p 9010:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer/data:/data -v /data/portainer/public:/public portainer/portainer

6.9 docker安装ElasticSearch

#1.拉取指定版本镜像
docker pull elasticsearch:7.12.0
#2.创建elasticsearch的挂载目录
mkdir -p /data/elasticsearch/data
mkdir -p /data/elasticsearch/config
mkdir -p /data/elasticsearch/logs
mkdir -p /data/elasticsearch/plugins
#3.创建配置文件
	echo "http.host: 0.0.0.0" >> /data/elasticsearch/config/elasticsearch.yml
	#修改配置文件
	vim /data/elasticsearch/config/elasticsearch.yml
	
	#允许外部访问
	http.host: 0.0.0.0
	#设置支持ES-Head
	http.cors.enabled:true
	http.cors.allow-origin:"*"

#4.创建容器并启动
docker run --name elasticsearch -p 9200:9200  -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
 -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /data/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
 -d elasticsearch:7.12.0
#说明:
-p 端口映射
-e discovery.type=single-node 单点模式启动
-e ES_JAVA_OPTS="-Xms84m -Xmx512m":设置启动占用的内存范围
-v 目录挂载
-d 后台运行
#5.查看启动状态
	#查看是否启动
	docker ps  
	#启动日志查询
	docker logs elasticsearch 
    #如果看到日志报错java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes则是因为挂载目录权限不够
    chmod 777 /data/elasticsearch
#6.重启命令
docker restart elasticsearch
#7.进入容器内部
docker exec -it elasticsearch bash 
#8.测试能否本地访问
curl 127.0.0.1:9200
#显示以下信息代表可以正常访问,启动成功
{
  "name" : "de17a0a9cb33",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "9x-E_MTXRGKZWiu6q8Z4zA",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
#9.配置外网访问,如果服务器IP+9200端口能访问则不用进行下面步骤
	#9.1查看9200端口是否开放
	firewall-cmd --query-port=9200/tcp
	#9.2如果没开放则先开放9200端口
	firewall-cmd --zone=public --add-port=9200/tcp --permanent
 	#9.3重启防火墙
 	firewall-cmd --reload
#10再次访问 IP:9200端口,查看是否能正常访问,如果不能则检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口
 
#11.安装ES的Head插件
#拉取head镜像
docker pull mobz/elasticsearch-head:5
#启动Head插件
docker run -d \
  --name=elasticsearch-head \
  --restart=always \
  -p 9100:9100 \
  docker.io/mobz/elasticsearch-head:5
#安装开通9200端口的步骤开通9100端口
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
#访问 IP:9100可访问head,再通过head链接ES

#问题一:使用ES-Head创建索引时F12查看控制台报错406
#解决办法:
#进入es-head容器内部
docker exec -it 【containerId】 /bin/bash
#找到vendor.js文件位置
find -name 'vendor.js'
#修改前需要在镜像中安装vim
apt-get update
apt-get install vim
#vim进入后,:6886 和:7573定位到6886行和7573行,两处,
#修改contentType为 application/json;charset=UTF-8
#(其默认contentType为 application/x-www-form-urlencoded,此方式不行需要修改为如上所说)
#修改后es-head网页刷,然后再新建索引发现就可以新建了

6.10 dockers安装Xxl-Job调度中心

#查找镜像
docker search xuxueli/xxl-job-admin
#拉取镜像
docker pull xuxueli/xxl-job-admin:版本号
docker pull xuxueli/xxl-job-admin:2.0.1
#创建挂载目录
mkdir -p -m 777 /data/xxl-job/data/applogs
#创建配置文件的映射文件
cd /data/xxl-job/
vim application.properties
#内容: 自己修改好端口和数据库连接信息
### web
server.port=9500
server.servlet.context-path=/xxl-job-admin

### actuator
management.server.servlet.context-path=/actuator
management.health.mail.enabled=false

### resources
spring.mvc.servlet.load-on-startup=0
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/

### freemarker
spring.freemarker.templateLoaderPath=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########

### mybatis
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
#mybatis.type-aliases-package=com.xxl.job.admin.core.model

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://106.122.53.246:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=jqx19980726
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=HikariCP
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.validation-timeout=1000

### xxl-job, email
spring.mail.host=smtp.263.net
spring.mail.port=25
spring.mail.username=xxx@gzmpc.com
spring.mail.from=xxx@gzmpc.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

### xxl-job, access token
xxl.job.accessToken=default_token

### xxl-job, i18n (default is zh_CN, and you can choose "zh_CN", "zh_TC" and "en")
xxl.job.i18n=zh_CN

## xxl-job, triggerpool max size
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100

### xxl-job, log retention days
xxl.job.logretentiondays=30

#导入mysql数据库,执行tables_xxl_job.sql(XXl-JOB的压缩包目录下有)
docker run -p 9500:9500 -d --name=xxl-job-admin --restart=always -v /data/xxl-job/application.properties:/application.properties  -e PARAMS='--spring.config.location=/application.properties' xuxueli/xxl-job-admin:2.3.1

#服务器开放9500端口
firewall-cmd --zone=public --add-port=9500/tcp --permanent
#重启防火墙
firewall-cmd --reload
#检查阿里云安全组是否放行对应的端口,如果没有放行也是无法访问的,记得去阿里云控制台去放行对应的端口
#阿里云控制台检查是否开放安全组9500
#访问 IP:http://106.122.53.246:9500/xxl-job-admin/
#用户名:admin
#密码:123456

七、Docker 网络

#我们每启动一个容器,docker就会给docker容器分配一个IP,我们只要安装了docker就会有一个网卡docker0桥接模式,使用的技术就是evth-pair技术(evth-pair充当一个桥梁,连接各种虚拟网络设备的)
#查看所有的docker网络
docker network ls
#查看服务器IP命令
ip addr
#查看容器的ip命令
docker exec -it 容器名称 ip addr
#通过--link联通两个容器
docker run -d -p 8080:8080 --name tomcat03 --link tomcat02 tomcat
#docker自定义网络
#--driver bridge 桥接
#--subnet 192.168.0.0/16子网地址
#--gateway 192.168.0.1 网关
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
#查看网络配置
docker network inspect mynet(网络名称)

八、Windows下使用SCP命令上传文件到服务器

#上传整个文件夹就加上 -r参数
scp -r D:\workFile\Docker_code\demo9000 root@IP:/data/docker_code
root@106.56.456's password:输入你的服务器密码
#等待上传完成

#使用SSH命令登录服务器
ssh root@IP -p端口(默认的22不用写)
输入密码

九、Nginx日志相关操作以及配置

#查看nginx的访问日志
#这里是你的Nginx的日志目录,如果使用docker部署的,去你的映射挂载目录看
cd /data/nginx/log
#查看后500行访问日志
tail -500f access.log
#access.log日志统计第一列 ip
awk '{print $1}' access.log
#access.log日志统计第一列 ip ,排序 ,排序不加-n ,则是按 ANSIC码进行排序
awk '{print $1}' access.log |sort
#查看访问量最高的前10个IP
# -k1 第一列排序
# -nr 值大小排序 相反
# unqi -c 重复出现
# sort:对IP部分进行排序
# head -n 10:取排在前10位的IP
awk '{print $1}' access.log|sort|uniq -c|sort -nr -k1|head -n 10
#查询访问最频繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
#查看某一时间段的IP访问量(4-5点)
grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l
#echo "=====统计每小时请求数(TOP50)====="
awk '{print $4}' access.log|cut -c 14-15|sort|uniq -c|sort -nr|head -n 50
#echo "=====统计每分钟的请求数(TOP50)====="
awk '{print $4}' access.log|cut -c 14-18|sort|uniq -c|sort -nr|head -n 50
#echo "=====统计每秒的请求数(TOP50)======"
awk '{print $4}' access.log|cut -c 14-21|sort |uniq -c|sort -nr|head -n 50
#echo "=====访问最频繁的请求(TOP50)====="
awk '{print $7}' access.log |sort |uniq -c|sort -rn |head -n 50
#查看当前TCP连接数
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
#查看2022年6月30 14-15点 访问最多的ip,可以根据需要调整时间 grep "30/Jun/2022:14:1[4-5]" ,14:14-15 分钟
grep "30/Jun/2022:1[4-5]"  access.log |awk '{print $1}' | sort -n |uniq -c | sort -rn | head -n 100

十、Linux磁盘相关命令

#查看服务器所挂硬盘个数及分区情况
fdisk -l
#查看服务器 文件系统  容量  已用  可用  已用占比   挂载点 
df -h
#查看各文件夹的大小
du -h --max-depth=1
#或者
du -sh *
#查看当前目录下占用磁盘空间达到G容量的文件夹并排序
du -sh * | grep G | sort -nr

十一、Linux查找文件或文件夹

#Linux查找某个文件所在的目录
find / -name 文件名
#举例
find / -name rB0CUmBSt66AOgjTAAC2KbvZn0E680.jpg

#查找当前目录下以jpg后缀的文件且文件大小大于20M的
find ./ -size +20M -name '*.jpg'
#查找当前目录下以jpg后缀的文件且文件大小大于20M的并统计数量
find ./ -size +20M -name '*.jpg' | wc -l
#查找某目录下以XX后缀结尾的文件
find /data/docker/containers/ -name *\.log
#或者
 find /data/docker/overlay2/ -iregex ".*\.log"
#查看当前文件夹下的文件并按照时间排序
 #升序
 	ls -lrt
 #降序
  	ls -lt
#查看.log文件的最后500行
tail -n 500 file
#查找以.jpg后缀的图片并删除,清除60天前修改的jpg后缀的文件
find /data/iuap/workdir/fastdfs/storage_data/data/00/02/* -mtime +60 -type f -name "*.jpg" -exec rm -rf {} \;

#查找并删除2023年3月13日以前修改过的文件
find /data/iuap/workdir/fastdfs/storage_data/* -type f -name "*.jpg" -not -newermt "2023-03-13" | xargs rm -f


十二、Linux定时任务相关

#查看当前服务器上的计划任务列表
crontab -l

#定时任务举例
0 6 * * * echo 1 >/proc/sys/vm/drop_caches #每天早上六点执行命令echo 1 >/proc/sys/vm/drop_caches(用于释放缓存区内存)
0 22 * * 6 /usr/bin/sh /data/docker/clean_docker_log.sh > /dev/null 2>&1 #每周六晚上22点执行命令
0 4 * * * /usr/bin/sh /opt/scripts/clean_for_OP.sh > /dev/null 2>&1# 每天早上4点执行清理脚本
/10 * * * /home/testuser/test.sh #每10钟调用一次/home/testuser/test.sh
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #在每天18:00至23:00之间每隔30分钟重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart # 每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart # 每周六、周日的1:10重启apache

#查看定时任务实时日志
cd /var/log
tail -f cron

十三、CPU、内存相关命令

#查看CPU核心数量命令
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
#查看内存命令
free -g #以G为单位查看内存使用情况
free -m #以M为单位查看内存使用情况
#查看系统内存、CPU、进程相关命令
top -d 10 #每10秒刷新一次
#清理缓存的命令
#释放页缓存
echo 1 > /proc/sys/vm/drop_caches
#释放dentries和inodes缓存
echo 2 > /proc/sys/vm/drop_caches
#释放所有缓存
echo 3 > /proc/sys/vm/drop_caches

十四、Nginx相关命令

#查看nginx的安装目录
ps -ef | grep nginx
#查看nginx的配置文件nginx.conf的路径,也可以用find命令查找
nginx -t
#用find命令查看nginx.conf的路径
find / -name nginx.conf

十五、K8S相关命令

#查看当前K8S集群下的节点-- kubectl:kubectl是kubenetes命令行工具,提供指令
kubectl get nodes
#查看节点的详细信息
kubectl describe node <node-name>
#查看节点的kubelet有没有启动-- kubelet运行在所有节点上,负责启动POD和容器,以系统服务形式出现
systemctl status kubelet
#启动节点上的kubelet
systemctl start kubelet

十六、Linux日志相关

#实时查看最后1000行日志
tail -fn 1000 test.log

十七、DNS域名解析相关

#查看域名是通过哪台服务器解析的
nslookup 域名
nslookup gzmpc-paas.gzmpc.com
#添加了DNS域名解析配置后,一直不生效,可能是本地DNS服务器缓存未刷新导致的,如果在域名解析过程中设置的TTL值较大,就需要等待更长的时间,等待本地DNS服务器缓存失效后,再测试DNS解析是否已经生效,快速解决方案可以通过重启DNS服务
#重启DNS服务命令
service named restart
#查看DNS服务状态
service named status
#查看服务器hosts文件配置
cat /etc/hosts
#修改服务器hosts文件配置
vi /etc/hosts

十八、Linux 进程相关

#查看进程命令
top
#查看进程是否设置了开机自启动
systemctl is-enabled <进程名称>
systemctl is-enabled tomcat-25015.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值