cpu占用和核数查询教程
https://blog.csdn.net/wangxin6722513/article/details/43452075
Linux之在aws ec2上使用root用户登录
- sudo passwd root
- su root
安装websocket命令
- npm config set registry http://registry.npm.taobao.org/
- npm install -g wscat --registry https://registry.npm.taobao.org
- wscat -c ws://echo.websocket.org
wscat -c wss://real.OKEx.com:8443/ws/v3
{"op": "subscribe", "args": ["swap/depth_l2_tbt:BTC-USD-SWAP"]}
centos7创建内存交换空间
// 创建swap文件:count为要改了数字1024*2*实际内存大小(M)其中2代表虚拟内存是实际内存的2倍
sudo dd if=/dev/zero of=/home/swap bs=1024 count=4098000
// 将文件格式转换为swap格式的
sudo mkswap /home/swap
// 再用swapon命令把这个文件分区挂载swap分区
sudo swapon /home/swap
//
free -m
// 为防止重启后swap分区变成0,要修改/etc/fstab文件
sudo vi /etc/fstab
/home/swap swap swap default 0 0
// 关闭(等待)
swapoff -a
// 启动
swapon /文件路径
https://blog.csdn.net/ygm_linux/article/details/24532809
- sudo chmod 777 /home/swap
https://jingyan.baidu.com/article/4dc408486bb3e7c8d946f125.html
linux目录
// 用户级的程序目录
/opt
后台启动命令
- nohup command >/dev/null 2>&1 &
安装docker
https://www.runoob.com/docker/centos-docker-install.html
ll按时间跑排序
- ll -t (降序)
- ll -t | tac (升序)
查看cpu配置信息
- cat /proc/cpuinfo
https://www.cnblogs.com/black-mamba/p/7102615.html
查看磁盘
- df -g
查看内存
- free -m
aws linux主机root帐号登录
- 创建root密码:sudo passwd root
- 切换成root身份: su root
- 修改sshd 配置文件:vim /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes
- 重新启动下sshd,sudo /sbin/service sshd restart
以上都是在服务端执行的操作,现在就可以ssh [email protected] 进行登录了
统计一个进程的线程数
cat /proc/10830/status
linux mysql 定时任务备份
- 创建备份脚本
cd /etc/cron.d/
sudo touch mysql-backup.sql
sudo chmod +x mysql-backup.sql(sudo chmod 777 mysql-backup.sql)
sudo vi mysql-backup.sql
#!/bin/bash
mysqldump -h localhost -uroot -pBitCopt@MySQL#2019 bitcopt_db > /home/centos/mysql-backup/bitcopt_db-$(date +%Y%m%d%H%M%S).sql
- 创建备份目录
sudo mkdir backup
sudo chmod +x backup(sudo chmod 777 backup)
- 设置定时任务
# mysql mht_web backup
30 * * * * /etc/cron.d/cleanUp-log.sh > /dev/null 2>&1
根据pid查询服务名称、路径
ps -aux |grep -v grep|grep 28990
vi文本操作
// 批量替换字符串
:%s/vivian/sky/ // 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g // 替换每一行中所有 vivian 为 sky
// 定位vi文本
跳到文本的最后一行:按“G”,即“shift+g”
跳到第一行的第一个字符:先按两次“g”
// 过滤vi文本信息,注意以上/error/p 中的p 必须要带着,后边的logs.log 是一个文件,输入上边的命令,则会打印出只含有error 的内容。
sed -n "/error/p" logs.log
修改hosts文件(修改完就生效)
sudo vi /etc/hosts
centos7 rabbitmq安装教程
- 安装erlang(centos7下要使用这个安装包,不然又其他奇怪问题)
- sudo yum install epel-release
- sudo yum remove erlang-erts-R16B-03.18.el7.x86_64 (卸载之前版本)
- wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_20.3.8.23-1centos7_amd64.rpm
- sudo rpm -ivh esl-erlang_20.3.8.23-1centos7_amd64.rpm
下载地址 https://github.com/rabbitmq/erlang-rpm/releases/tag/v20.1.7.1 - 安装socat
sudo yum install socat
- rabbitmq密钥导入
# import the new PackageCloud key that will be used starting December 1st, 2018 (GMT)
sudo rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# import the old PackageCloud key that will be discontinued on December 1st, 2018 (GMT)
sudo rpm --import https://packagecloud.io/gpg.key
sudo rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
- 下载rabbitmq最新版
https://www.rabbitmq.com/download.html - 安装rabbitmq
sudo rpm -ivh rabbitmq-server-3.7.15-1.el7.noarch.rpm
- 启动rabbitmq服务器
sudo chkconfig rabbitmq-server on
- rabbitmq命令
sudo /sbin/service rabbitmq-server start
sudo /sbin/service rabbitmq-server stop
sudo /sbin/service rabbitmq-server status
sudo service rabbitmq-server restart
- 启动web管理网站
sudo find / -name rabbitmq-plugins
sudo /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.5/sbin/rabbitmq-plugins enable rabbitmq_management
sudo /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.15/sbin/rabbitmq-plugins enable rabbitmq_management
// 重启
sudo service rabbitmq-server restart
- 登录web管理网站
// 创建用户
sudo rabbitmqctl add_user admin admin
// 给予用户分配权限
sudo rabbitmqctl set_user_tags admin administrator
// 给予控制权限,解决程序不能创建exchange、队列问题
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
// 重启
sudo service rabbitmq-server restart
centos一键安装脚本
- jdk脚本
1.将jdk安装包放到sh脚本同一个目录
2.sudo bash jdk.sh(自定义sh脚本
https://www.cnblogs.com/chenglee/p/10131564.html
- nginx脚本
https://blog.csdn.net/qq_38591756/article/details/82952936
centos7 防护墙 端口命令
- 查看防火墙状态
sudo systemctl status firewalld
- 启动防火墙
sudo systemctl start firewalld
- 停止防火墙
sudo systemctl stop firewalld
- 开放端口
sudo firewall-cmd --zone=public --add-port=8333/tcp --permanent
- 重启防火墙
sudo firewall-cmd --reload
- 查看已经开放的端口
sudo firewall-cmd --list-ports
https://blog.csdn.net/achang21/article/details/52538049
清空文件内容
echo "" > filename
复制目录到另一个目录
- 如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
- 如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
修改时区
timedatectl list-timezones |grep Shanghai #查找中国时区的完整名称
Asia/Shanghai
timedatectl set-timezone Asia/Shanghai #其他时区以此类推
查看当前时区
timedatectl status
创建多级目录
mkdir -p /www/bitcopt/com
linux 开放端口
https://blog.csdn.net/TE28093163/article/details/78200665/
压缩包
// tar结尾,目录后面不加斜杠
sudo tar -cvf backstage.tar dirname
// gz结尾
gzip -d all.gz
解压缩
···
// tar结尾
tar zxvf filename.tar
// gz结尾
gunzip all.gz
···
linux nginx安装
- 安装编译工具及库文件
sudo yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
- 安装 PCRE, 作用是让 Nginx 支持 Rewrite 功能
cd /usr/local/src/ # 一定要装在这个目录,不然ngnix编译出错
sudo wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解压安装包:
sduo tar zxvf pcre-8.35.tar.gz
进入安装包目录:
cd pcre-8.35
编译安装:
sudo ./configure
sudo make && sudo make install
查看pcre版本
pcre-config --version
- 安装 Nginx
sudo wget http://nginx.org/download/nginx-1.14.2.tar.gz #修改为自己要的版本 http://nginx.org
解压安装包:
tar zxvf nginx-1.6.2.tar.gz
进入安装包目录:
cd nginx-1.6.2
编译安装:
sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
sudo make && sudo make install
查看nginx版本:
/usr/local/nginx/sbin/nginx -v
- 环境配置
sudo vi /etc/profile
source /etc/profile
- 启动nginx,切换到管理员用户
sudo /usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf
注:-c 指定一个文件,即指定配件文件。默认的路径是安装目录下的conf/nginx.conf
当然你不指定就是这里,指定的话,可以自定义,只要有权限访问即可。
linux redis安装
- 下载redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make test
- centos7 g++: command not found,CentOS5.7默认没有安装gcc,这会导致我们无法make成功。使用yum安装。
sudo yum -y install gcc
- zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
sudo make MALLOC=libc
- 如果报错:You need tcl 8.5 or newer in order to run the Redis test
sudo yum install tcl.x86_64
- 将redis安装到/usr/local/bin/
sudo make install
- 后台启动
redis-server &
- 三种启动方式
// 默认配置
redis-server &
// 指定配置
redis-server /home/centos/redis-5.0.5/redis.conf &
// 使用redis启动脚本设置开机自启动
- 通过指定配置文件启动
redis-server /你的路径/redis.conf &
- 测试服务是否启动(默认端口)
redis-cli ping
- 客户端建立连接
redis-cli -h ip地址 -p 6379 -a 密码
redis-cli -h 3.114.94.64 -p 6379 -a marketHdege
- redis查看状态
ps -ef |grep redis
- 关闭redis服务
redis-cli shutdown
- 使redis外网可以访问
打开redis.conf文件,注释掉bind 127.0.0.1
protected-mode yes 改为 protected-mode no
- 查看redis版本
redis-server -v
- 修改配置文件,默认后台运行
打开redis.conf文件,修改daemonize yes
- 清空当前数据库中的所有 key
redis-cli flushdb
- 清空整个 Redis 服务器的数据
redis-cli flushall
- 修改密码
# 修改密码(永久生效)
sudo find / -name "redis.conf"
sudo vi redis.conf
# 搜索关键字
/requirepass
# 把 # 去掉,foobared 替换成自己的密码
requirepass myPassw0rd
# 查询密码
127.0.0.1:6379> config get requirepass
# 修改密码(重启服务器后失效)
CONFIG set requirepass "runoob"
# 输入密码
AUTH "runoob"
https://cloud.tencent.com/developer/article/1404215
官方教程:https://redis.io/topics/quickstart
centos mysql5.7 安装
- 安装前,我们可以检测系统是否自带安装 MySQL:
rpm -qa | grep mysql
- 如果你系统有安装,那可以选择进行卸载:
rpm -e mysql完整名字 // 普通删除模式
rpm -e --nodeps mysql完整名字 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
- 在http://repo.mysql.com/找到指定版本
sudo wget http://repo.mysql.com/mysql57-community-release-el7.rpm
sudo rpm -ivh mysql57-community-release-el7.rpm
sudo yum update
sudo yum install mysql-server
- 重启MySQL:
sudo systemctl restart mysqld
- 启动 MySQL:
sudo systemctl start mysqld
- 查看 MySQL 运行状态:
sudo systemctl status mysqld
- mysql5.7 默认情况下 MySQL 服务器的登录密码为空
输入mysql登录mysql
- 当登录时,有可能有初始密码,有可能遇到:Access denied for user 'root'@'localhost' (using password: NO)
cat /var/log/mysqld.log | grep password
- 默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
mysqladmin -u root password "";
- 当已有密码时,修改密码:
set password for root@localhost = password('BitCopt@MySQL#2019');
- 现在你可以通过以下命令来连接到Mysql服务器:
mysql -u root -p
参考教程:
https://www.runoob.com/mysql/mysql-install.html
redhat RPM安装软件包
#rpm -i example.rpm 安装 example.rpm 包;
#rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
#rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度
java jdk安装
https://www.cnblogs.com/liugh/p/6623530.html
ssh远程登录服务器方式
- 通过git申请公钥,在本地生成id_rsa.pub文件,里面存放公钥,和密钥文件
ssh-keygen -t rsa -C "100***[email protected]"
- 将公钥添加到服务器
- 打开git命令行终端,登录服务器
ssh [email protected]
xshell生成通过公钥方式登录
cd ~/.ssh/
ls
rz
ls
cp authorized_keys authorized_keys.bak
cat maozhengyi.pub >> authorized_keys
cat authorized_keys
https://www.cnblogs.com/dadonggg/p/8350423.html
winscp公钥方式登录
https://www.cnblogs.com/feipeng8848/p/8549697.html
linux java cpu占用过高分析方法
https://blog.csdn.net/u010862794/article/details/78020231
后台运行python
// 后台启动程序
nohup python2 app.py &
// 查看本终端的进程
jobs -l
根据进程号查询路径
···
ps -ef | grep java
ls -l /proc/进程号
···
xshell下载文件到window
sz file
安装:sudo yum install lrzsz
window上传到linux
rz
linux上传到window
sz
查看可用内存
free -m
查看PATH
echo $PATH
修改PATH
通过修改profile文件:
vim /etc/profile
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
. /etc/profile
注意: . 和 /etc/profile 有空格
方法2:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
source /etc/profile
解压zip文件
unzip ***.zip
设置定时任务(优先选择方法二)
- 方法一(作用于全局):
1.创建sh文件
cd /etc/cron.d/
sudo touch timing.sh
2.设置权限
sudo chmod 644 timing.sh
3.编辑/etc/crontab文件
sudo vi /etc/crontab
*/30 * * * * bash /home/centos/script/mysql-backup.sh > /dev/null 2>&1
4.设置脚本路径
- 方法二:
1.编辑定时任务
crontab -e
2.查看定时任务列表
···
crontab -l
···
查看日志:
sudo find / -name cron
- 注意:
1.不需要加用户名
2.路径都用全路径,不然找不到
3.放在crontab脚本的位置:/etc/cron.d/
- 定时命令
// 每3小时执行一次
1 */3 * * * bash /etc/cron.d/cleanUp-log.sh
监控磁盘、cpu性能脚本
#/bin/sh
url=""
disk_max=90
disk_msg="chatId=id&message=磁盘容量超过$disk_max"
disk_partition=/dev/vda1
df_num=`df -h |grep $disk_partition |awk -F'[ %]+' '{print $5}'`
[ $df_num -ge $disk_max ] && curl -d "$disk_msg" "$url"
cpu_max=20.0
cpu_msg="chatId=id&message=cpu使用率超过$cpu_max"
cpu_num=`top -n 1 | grep %Cpu | gawk '{print $2}' | bc` #cpu
if [ `echo "$cpu_num >= $cpu_max" | bc` -eq 1 ]
then
curl -d "$cpu_msg" "$url"
fi
删除文件
rm 文件名
rm -r 递归删除目录及其内容
移动、复制文件
mv cp