查看系统信息
#查看系统信息
uname -a
#查看版本号
cat /etc/redhat-release
#查看cpu
cat /proc/cpuinfo
#系统环境变量
env
#内存及交换分区
free -m
#分区使用情况
df -h
#系统运行时间等
uptime
#网络配置
ifconfig
#网络监听、连接状态
netstat
ss
#系统进程
ps
top
#活动用户
w
#用户登录日志
last
#用户计划任务
crontab
#系统服务状态
chkconfig --list
systemctl list-unit-files
#已安装软件包
rpm -qa
#杀死进程 -9强制,-15正常退出
kill -9 pid
# min版本安装后,修改网络配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
> TYPE=Ethernet # 网卡类型:为以太网
> PROXY_METHOD=none # 代理方式:关闭状态
> BROWSER_ONLY=no # 只是浏览器:否
> BOOTPROTO=dhcp # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
> DEFROUTE=yes # 默认路由:是, 不明白的可以百度关键词 默认路由
> IPV4_FAILURE_FATAL=no # 是不开启IPV4致命错误检测:否
> IPV6INIT=yes # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
> IPV6_AUTOCONF=yes # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
> IPV6_DEFROUTE=yes # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
> IPV6_FAILURE_FATAL=no # 是不开启IPV6致命错误检测:否
> IPV6_ADDR_GEN_MODE=stable-privacy # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
> NAME=ens33 # 网卡物理设备名称
> UUID=7e59d877-bced-4d56-abf0-e11dde663d67 # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
> DEVICE=ens33 # 网卡设备名称, 必须和 `NAME` 值一样
> ONBOOT=no # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`
设置ONBOOT为yes
如果需要静态,经BOOTPROTO设置为static,并配置IPADDR和NETMASK、GATEWAY、DNS(虚拟机的DNS可以和网关一致)。
#修改后保存退出,esc后输入 `:wq`
#重启网络
systemctl restart network
# 查看网络
ip addr
# 安装ifconfig等网络工具
yum install -y net-tools
# 安装vim
yum install -y vim-enhanced
# 安装网络下载工具
yum install -y wget
# 安装gcc
yum install -y gcc
# 查看gcc版本
gcc -v
# 升级
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# 临时生效
scl enable devtoolset-9 bash
# 长期生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
# 再次查看gcc版本
gcc -v
防火墙
# centOS7 默认是 firewalld
#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld
#开启
systemctl unmask firewalld
#iptables
#安装iptables-services:
yum install -y iptables-services
# 开机自启,否则就是 disable
systemctl enable iptables
# 命令:systemctl [stop|start|restart] iptables
# service iptables [stop|start|restart]
# 启动
systemctl start iptables
# 状态
service iptables status
# 查看配置文件
vi /etc/sysconfig/iptables
# 默认如下-
#============================
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#============================
# 仿照22端口,添加80端口:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# 需要哪个端口,就添加哪个
# 之后保存退出。重启(生效)
systemctl restart iptables.service
#####
# 也可以使用命令行来添加/删除端口
# 添加443端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 删除443端口
iptables -A INPUT -p tcp --dport 443 -j DROP
iptables -A OUTPUT -p tcp --dport 443 -j DROP
# 添加/删除后保存
service iptables save
# 建议修改配置文件
# 使用firewall
# 添加开放端口,zone应该是源地址?-permanent表示永久,否则重启后失效
firewall-cmd --zone=public --add-port=8888/tcp --permanent
# 删除开放端口
firewall-cmd --zone=public --remove-port=8888/tcp -permanent
# 每次修改后,需要重新加载才会生效
firewall-cmd --reload
# 查看某个端口是否开放
firewall-cmd --zone=public --query-port=8888/tcp
# 查看所有开放端口
firewall-cmd --zone=public --list-ports
# 开机启动/禁用/开启/关闭 防火墙
systemctl [enable/disable/start/stop] firewalld
修改ssh端口
vi /etc/ssh/sshd_config
##修改port(记得在防火墙和安全组放行新的端口号!!)
##添加一行 Port 2048
##esc之后:wq保存退出
systemctl restart sshd
##查看公网ip
curl ifconfig.me
curl icanhazip.com
curl cip.cc
#远程连接(本机cmd窗口)
ssh root@yourIP -p 2048
#退出
exit
logout
#将本机的公钥复制一份(默认在C:\\Users\\yourName\\.ssh
#生成rsa公私钥:ssh-keygen -t rsa(三次回车,如果有的话就不要再生成了)
scp -P 2048 id_rsa.pub root@yourIP:/root/.ssh/win_rsa.pub
#换回虚拟机控制台
cd /root/.ssh
cat win_rsa.pub >> authorized_keys
用户管理
# 添加用户
useradd your_username
# 设置用户密码
passwd your_username
# 回车后输入密码
# 编辑/etc/sudoers文件,给用户添加sudo权限
chmod u+w /etc/sudoers
vim /etc/sudoers
# 或者 visudo
# 按下 100gg 跳转到100行
#-------
# 用户名 被管理主机的地址(IP地址)=(可使用的身份) 授权命令(绝对路径)
root ALL=(ALL) ALL
#----------
# 在其下添加一行
your_username ALL=(ALL) ALL
# esc后输入:x回车保存退出
安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
# 安装完成后根据回显信息,打开url,并使用username和password登陆,然后可以在左侧最下面软件商店安装软件部署应用
# 外网面板地址: http://xx.xx.xx.xx:8888/abcdefgh
# 内网面板地址: http://192.168.0.96:8888/abcdefgh
# username: uuuuuuuu
# password: pppppppp
# If you cannot access the panel,
# release the following panel port [8888] in the security group
# 若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
安装redis
# 下载官方压缩包,gcc版本需要5以上
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
# 解压
tar xzf redis-6.0.6.tar.gz
# 进入解压后的目录
cd redis-6.0.6
# 编译
make
# 安装并制定安装目录,默认 /usr/local/bin,建议使用默认
make install PREFIX=/usr/local/redis
# 如果编译失败,可能是gcc版本问题
# 查看gcc版本
gcc -v
# 升级gcc
#升级到 5.3及以上版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# opt1:临时生效
scl enable devtoolset-9 bash
# opt2:长期生效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
source /etc/profile
# 再次查看gcc版本
gcc -v
1、前台启动
cd /usr/local/redis/bin/
./redis-server
2、后台启动
# 从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
cp /usr/local/redis-6.0.6/redis.conf /usr/local/redis/bin/
# 修改 redis.conf 文件,把 daemonize no 改为 daemonize yes(直接键入/daemonize no 回车进行查找)还有其他配置:(远程连接【关闭protected-mode和注释bind 127.0.。】、密码【requirepass yourPassword】)
vi redis.conf
# 后台启动
./redis-server redis.conf
3、开机启动
# 如同后台启动一样,复制redis.conf到/etc/redis/6379.conf
cp redis.conf /etc/redis/6379.conf
# 修改
vim /etc/redis/6379.conf
# 修改daemonize 为 yes还有其他的。自行百度
# 复制redis启动脚本。redis启动脚本一般在redis根目录的utils,如果不知道路径,可以先查看路径
find / -name redis_init_script
# 复制启动脚本到/etc/init.d/redis文件中
cp utils/redis_init_script /etc/init.d/redis
# 修改启动脚本参数
vim /etc/init.d/redis
复制粘贴以下内容(ExecStart配置成自己的路径):
REDISPORT=6379
PASSWORD=yourPassword #没有可以不配置
EXEC=/usr/local/bin/redis-server #安装路径
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
# 打开redis命令:
service redis start
# 关闭redis命令:
service redis stop
# 设为开机启动:
chkconfig redis on
# 设为开机关闭:
chkconfig redis off
# redis启动路径为根目录,所以dump.rdb位置在根目录,需要备份数据和转移数据,在根目录寻找
# 开机启动配置完毕
拓展:
# 创建redis命令软链接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
# 测试
redis
# 服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
安装JDK
jdk8
url:download.oracle.com/otn/java/jd…
# 下载tar压缩包
wget url
# 查看
ll
# -rw-r--r--. 1 root root 145520298 8月 11 21:36 jdk-8u301-linux-x64.tar.gz
# 解压 输入jdk后按tab自动补全文件
tar -zxvf jdk-8u301-linux-x64.tar.gz
# cd进入解压后的目录
cd jdk1.8.0_301
# 查看路径信息,记下来,添加JAVA_HOME系统变量
pwd
# /root/jdk1.8.0_301
# 修改环境变量
vim /etc/profile
# 在末尾添加如下几行,记得修改JAVA_HOME为上述pwd查看的路径
export JAVA_HOME=/root/jdk1.8.0_301
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
# 激活
source /etc/profile
# 查看java版本
java -version
第二种:
# 查看yum源中jdk版本
yum list java*
# 安装jdk8
yum -y install java-1.8.0-openjdk*
# 查看安装结果
java -version
# 设置环境变量
vim /etc/profile
# 在末尾添加:
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#----------
#使环境变量生效
source /etc/profile
开机自启jar程序
# 需要先知道JAVA_HOME(通过which java和ls -lrt /usr/bin/java 一路追踪java安装目录)
# 需要看一下 /etc/rc.local 是否是软连接,源文件是否可执行
ll /etc/rc.local
# CentOS7中是软连接,需要让源文件也变为可执行
# 可以使用 ls -lrt /etc/rc.local 查看连接得文件
# 查看系统默认的shell
ls -l /bin/sh
# 如果是bash(Bourne Again Shell),那么可以在/etc/rc.local中直接激活环境变量(添加一行source /etc/profile,记得在/etc/profile中配置JAVA_HOME)
# 如果是sh(Bourne Shell),那么在脚本中export JAVA_HOME=xxx即可(还有PATH、CLASS_PATH),也可以设置系统为bash
# 然后在 /etc/rc.local 中添加脚本全名称(路径+脚本名)即可(此种形式使用的fork方法执行其他脚本,子脚本中exit不会影响父脚本,子脚本开启的环境也不影响父脚本)
例:
/etc/rc.local:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# 激活环境变量
#source profile
# 启动jar程序(在startJar.sh脚本中引入 JAVA_HOME)
/root/scripts/startJar.sh
# 通过python脚本启动python模型
python /root/scripts/startAllModel.py
exit 0
/root/scripts/startJar.sh:
#!/bin/sh
# 设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
# 进入脚本所在目录
basepath=$(cd `dirname $0`;pwd)
DATE=$(date +'%Y-%m-%d %T')
# 查找该目录中以 blog 开头的jar包
jarName=`ls -l "${basepath}"/blog*.jar`
# 如果存在
if [ $? -eq 0]; then
# 获取jar包全名称
jarName=${jarName##* }
# 打印启动日志
echo "${DATE} ${jarName} start!">>${basepath}/start.log
# 启动jar包
`nohup java -jar "${jarName}" > ${jarName}.log 2>1 &`
else
# 如果不存在,打印错误信息
echo "${DATE} ${jarName} not found!">>${basepath}/start.log
fi
# 退出
exit 0