安装与优化
设置全局提示符
vi /etc/profile
export PS1='[\u@\h `pwd`]\$'
source /etc/profile
安装Java,设置为默认
// 以安装oraclejdk替换openjdk为例
yum remove java java-1.8.0-openjdk-headless.x86_64 javapackages-tools.noarch -y
cd install_files/
// tar解压
tar xzvf jdk-8u141-linux-x64.tar.gz -C /usr/local/share/
vi /etc/profile
JAVA_HOME=/usr/local/share/jdk1.8.0_141
JRE_HOME=/usr/local/share/jdk1.8.0_141/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
source /etc/profile
安装ElasticSearch
## es
unzip elasticsearch-5.6.3.zip
mv elasticsearch-5.6.3 /opt/data/
cd /opt/data/elasticsearch-5.6.3/
mkdir path
cd path
mkdir logs data
安装RocketMq
grep 'rocketmq:' /etc/group 1>/dev/null 2>&1 || (/usr/sbin/groupadd -g 511 rocketmq)
grep 'rocketmq:' /etc/passwd 1>/dev/null 2>&1 || (/usr/sbin/useradd -u 511 -g 511 -s /bin/bash -c "rocketmq run user" rocketmq)
cd ~/install_files
unzip rocketmq-all-4.6.0-bin-release.zip
mv rocketmq-all-4.6.0-bin-release /usr/local/share
cd /usr/local/share/
mv rocketmq-all-4.6.0-bin-release rocketmq
chmod 755 /usr/local/share/rocketmq
chmod 755 /usr/local/share/rocketmq/bin/*
chown -R rocketmq:rocketmq rocketmq
cd rocketmq/bin
./os.sh
vi /etc/profile
export ROCKETMQ_HOME=/usr/local/rocketmq
export PATH=$PATH::$ROCKETMQ_HOME/bin
source /etc/profile
sh mqbroker -n 172.31.242.133:9876 autoCreateTopicEnable=true -c /usr/local/share/rocketmq/conf/broker.conf
查看系统信息
# CPU
cat /proc/cpuinfo
# CPU个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
# CPU核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
# CPU型号
cat /proc/cpuinfo | grep 'model name' |uniq
# 内存
cat /proc/meminfo
# 内存大小
cat /proc/meminfo | grep MemTotal
# 硬盘
fdisk -l | grep Disk
uname -a # 查看内核/操作系统/CPU信息的linux系统信息
head -n l /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令
cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo # 查看linux系统内存信息的linux系统命令
cat /proc/version # 查看版本,类似uname -r
cat /proc/ioports # 查看设备io端口
cat /proc/interrupts # 查看中断
cat /proc/pci # 查看pci设备的信息
cat /proc/swaps # 查看所有swap分区的信息
磁盘相关
添加/格式化/挂载
// 先看下有哪些磁盘
fdisk -l
// 挂在对应的
fdisk /dev/vdb
// fdisk后会出现编号
fdisk -l
// 格式化
mkfs.xfs -f /dev/vdb1
mkdir /opt/data
mount /dev/vdb1 /opt/data
// 开机挂载
vi /etc/fstab
/dev/vdb1 /opt/data xfs defaults 0 0
查看磁盘/目录占用
df -m
du -sh *
用户与权限
// 如果没有组就添加
grep 'rocketmq:' /etc/group 1>/dev/null 2>&1 || (/usr/sbin/groupadd -g 511 rocketmq)
// 如果没有用户就添加
grep 'rocketmq:' /etc/passwd 1>/dev/null 2>&1 || (/usr/sbin/useradd -u 511 -g 511 -s /bin/bash -c "rocketmq run user" rocketmq)
chown -R rocketmq:rocketmq /opt/rocketmq
chmod 777 /opt/rocketmq
网络
// 统计所有连接本机的ip
netstat -na| grep ESTABLISHED| awk '{print $5}'| awk -F: '{print $1}'
自签证书与信任
// 生成客户keystore,添加客户需要信任的ip或域名
keytool -genkey -keyalg RSA -alias nifi-admin -keystore keystore.jks -keypass secret -storepass secret -validity 365 -keysize 4096 -dname "CN=admin, OU=nifi" -ext san=ip:<host_ip>
// 导出到der文件
keytool -export -keystore keystore.jks -alias nifi-admin -file client.der -storepass secret
// 加入到truststore, 信任客户的证书
keytool -import -file client.der -alias nifi-admin -keystore truststore.jks -storepass secret –noprompt
HTTP调用
curl -X POST "http://xxx.xxx.xxx.xxx/register/DeptInfo/getDeptInfo" -H "accept: */*" -H "hospitalEname: ZhuhaiPeopleHpspital" -H "robotMac: zhuhaimac" -H "terminalId: KDXF" -H "Content-Type: application/json" -d "{ \"areaId\": \"\", \"deptId\": \"5\"}"
命令组合
遍历目录下文件并执行
三种方法
使用find - exec
find . -name '*.zip' -exec unzip {}
使用xargs
ls *.zip | xargs -n1 unzip
使用for循环
for i in *
do
unzip $i
done
启停
RocketMQ
// 2主2从
sh /usr/local/share/rocketmq/bin/runserver.sh org.apache.rocketmq.namesrv.NamesrvStartup > /dev/null 2>&1 &
sh mqbroker -c ../conf/2m-2s-sync/broker-a.properties > /dev/null 2>&1 &
sh mqbroker -c ../conf/2m-2s-sync/broker-b-s.properties > /dev/null 2>&1 &
sh mqbroker -c ../conf/2m-2s-sync/broker-b.properties > /dev/null 2>&1 &
sh mqbroker -c ../conf/2m-2s-sync/broker-a-s.properties > /dev/null 2>&1 &
Docker
// mysql
docker run -d --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /d/mysql:/etc/mysql -v /d/mysql:/data/var/lib/mysql mysql:5.7
// pg
docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=root -p 5432:5432 -d postgres
// prometheus
docker run -d --name prom --hostname prom -p 9090:9090 -v /d/prom/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus