好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言。
secureCRT:SecureCRT是一款支持SSH的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件。不同就是SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。 收费;
SecureCRT for Mac 7.3.1
解决mac电脑无法保存密码的问题
secureCRT相关设置(linux颜色设置、放置linux会话断开设置)Putty、XShell、SecureCRT、SSH Secure Shell Slient哪个好用?
Xshell :Xshell终端模拟器;免费;
putty:kevin介绍的windows ssh工具
Mac 电脑SSH连接linux:
mac 电脑远程连接 Linux
连接主机: ssh [email protected] 密码: 3b8e45b74457e318
ssh -X [email protected]
服务器只要开通了公网,黑客进行会通过公网ip进行检查试探登录。
linux通常使用SSH登录,但是这种账号、密码形式容易被黑客进行轮训破解。我们使用更安全的私钥形式登录,并禁用密码登录。一下方式已经验证可用
QCURE项目服务器测试成功,但是需要自己保存好私钥,不然就无法登陆了。
linux ssh使用秘钥登录并禁用密码登录,可以禁止用户登录
Windows 端通过SecureCRT以密钥方式登录linux服务器
Linux系统禁止root远程登录(不要执行, 禁止root远程登录, 使用密钥登录也使用不了,密钥是基于用户的公钥、私钥)
使用私钥稍微有点麻烦,我们增加重试密码错误次数,eg: 密码错误超过5次,我们就锁定账号5分钟;
Linux如何禁用root账户(There were XXXX failed login attempts since the last successful login.)
## 修改linux root@后面的别名; 当服务器很多的时候,这个非常有用
cat /etc/hosts # 查看hostname1
cat /etc/sysconfig/network ##查看hostname2【网络中】
cat /etc/hostname
### 确保:三个都是一样的
vi /etc/hostname
vi /etc/sysconfig/network
vi /etc/hostname
#比如:[root@qcure-db ~]#
#比如:[root@qcure-web ~]#
#################### 如何让立刻生效 #########
sysctl kernel.hostname=$(cat /etc/hostname)
#或者
cat /etc/hostname > /proc/sys/kernel/hostname
#################### cat /etc/hosts #########
127.0.0.1 app1_4 localhost.localdomain localhost4 localhost4.localdomain4
::1 app1_4 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.16.10.4 app1_4
使用cat命令查看 # cat /proc/version (Linux查看当前操作系统版本信息)
cat /proc/version
# (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)
sb_release -a
查看当前的linux怎样查看当前系统版本是UBuntu还是Cent OS?
很简单,命令是:
lsb_release -a
#
cat /etc/redhat-release
远程终端登录信息
IP:47.100.34.60
PORT:22
USER:root
PWD:XXh6FjUurx
=======================================================
Redis信息
PORT:6379
PASSWORD:nozuonodie
=======================================================
fastDFS信息
PORT:23000/22122
文件访问地址:
http://47.100.34.60:8000/文件路径
文件处处路径:/data/fdfs_storage/
nginx路径:/data/nginx/
=======================================================
tomcat相关信息
/usr/local/tomcat8l
/usr/local/jdk8
Linux文件编辑命令详细整理
vi xxx.xml
q! qw
或者直接用scp命令搞定
windows 是否 FZ, fileZila工具,跨平台,支持 macos、windows
fileZila server 中文版
如何在 Linux 中使用 sFTP 上传或下载文件与文件夹 【经典】
linux下使用sftp
aliyun ftp相关视频(注意共享的文件夹 要给 everyone 任何权限)
linux sftp登陆: sftp [email protected]
上传文件: put /work/android-project/eduQudao/java/qudaoedu/target/qudaoedu.war /usr/local/tomcat8/webapps/qudaoedu.war
上传文件实例2:sftp> put /Users/duandazhi/Downloads/portal.war /usr/local/tomcat8/portal.war
sftp命令里面也支持基本的文件操作命令,如 cd ls mkdir;本地系统,也可以使用这些命令,命令前面加入L
情景:利用sftp中将本地文件夹/Users/duandazhi/Downloads/dazerPath (内包含子文件夹) ,复制到服务器的/usr/local/tomcat8/webapps目录下
put: put: No such file or directory
命令: put
步骤:
1.首先定位到远程 /usr/local/tomcat8/webapps 目录下:cd /usr/local/tomcat8/webapps/ourslook
2.在webapps目录新建文件夹:mkdir ourslook
rm -rf * 强制静默删除ourslook下面的所有文件和目录,谨慎操作
3.进入远程ourslook文件夹:cd ourslook
4.本地定位到Downloads文件夹下:lcd /Users/duandazhi/Downloads
(可以用命令lls查看下,Data应该是在本地这个目录下的)
5.执行关键命令:put -r dazerPath/. 把本地的dazerPath这个目录上传到服务器的,前提是已经进入了服务器的ourslook目录,这个在服务器不用创建dazerPath目录,会自动创建ourslook目录
【【或者使用下面一个命令就可以搞定】】:put -r /Users/duandazhi/Downloads/ourslook/. /usr/local/tomcat8/webapps/ourslook
put /Users/duandazhi/Downloads/portal.war /usr/local/tomcat8/webapps/portal.war
6.刷刷刷............................本地dazerPath文件夹的东西(包括各种子文件夹)就全部复制到远程ourslook
6: linux 服务器 基本配置;其实最简单的方式,使用secureCRT SFTP 上传直接拖拽。
远程终端登录信息
IP:xxx.xx.xx.xx
PORT:22
USER:root
PWD:h6FjUurx
=======================================================
Redis信息
PORT:6379
PASSWORD:nozuonodie
=======================================================
fastDFS信息
PORT:23000/22122
文件访问地址:
http://xx.xxx.xx.xx:8000/文件路径
文件处处路径:/data/fdfs_storage/
nginx路径:/data/nginx/
=======================================================
tomcat相关信息
/usr/local/tomcat8l
/usr/local/jdk8
=======================================================
linux 服务器tomcat的重启 Linux下Tomcat重新启动 x linux下tomcat服务的相关命令 x
1,启动tomcat服务
方式一:直接启动 ./startup.sh --不建议使用
方式二:作为服务启动 nohup ./startup.sh & --后台启动tomcat; 这里nohup是一个日志输出的文件;可以使用 tail -f 查看;
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
2, 查看tomcat是否启动
杀死查看进程
1:查看tomcat是否运行 ps -ef|grep java
1-1:查看tomcat是否运行 ps -ef |grep tomcat #如果有打印tomcat相关就表示运行
1-2:查看端口是否被占 netstat -apn | grep 8888
1-3:上面几种方式都能看到进程编号,kill -9 1711
linux 公社
Linux 移动或重命名文件/目录-mv 的10个实用例子
Linux cp 命令的15个示例 - 创建文件和目录的副本
Linux中的15个基本‘ls’命令示例
将Linux文件清空的几种方法
rm -rf ourslook/ 静默递归删除ourslook目录
mv jdk-8u161-linux-x64.rpm jdk8x64.rpm 重命名单个文件
mv download/ downloads/ 重命名目录
\cp -rf directory_1 /home/pungki/office 说明:copy一个目录/文件,并且静默cp,最前面必须加斜杠\,否则cp: overwrite 必须要确认
cp -rf /home/nginx/application/dist/ /usr/local/tomcat9/webapps/ROOT #复制并且复制子目录;把 dist目录页copy了
\cp -rf /home/nginx/application/dist/* /usr/local/tomcat9/webapps/ROOT ### 不复制dist目录
----------- ln 软连接 start ------------------
# 比如, elasticsearch-6.8.3文件很长,我们可以用一个文件连接,简写 es
1:linux查看软连接实际指向的文件的位置
# ls -al
2:linux创建文件软连接
ln -s 源文件 目标文件
3:linux 删除文件软连接
rm –rf ./软链接名称
Linux软链接创建及删除 https://www.cnblogs.com/jing99/p/10797230.html
为初学者准备的 ln 命令教程(5 个示例) https://linux.cn/article-9501-1.html
----------- ln 软连接 end ------------------
----------- 清空文件start ------------------
1种: echo -n "" filename # 一定要加参数-n,否则默认多一个-n到文件里面
2种:cat /dev/null > filename #清空文件
----------- 清空文件end ------------------
赤骏司机服务器配置:1个4核CPU,型号 Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz, 8G内存,硬盘128G
股期宝服务器配置 :1个2核CPU,型号Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz, 16G内存,硬盘100G
大概配个7000-8000的 每年就差不多了; 使用 linux centos7 操作系统
CPU:4核心
RAM:8G-16G
HDD SYS:40G
HDD DATA:50~100G
NETWORK:8M左右
#!/usr/bin/env bash
#1: 查看当前目录下各个文件及目录占用空间(磁盘)(硬盘)大小
# 一般报错 “No space left on device” 都是日志文件过大,如:tomcat、nginx日志
du -sh /usr/*
## 那个磁盘的分区总容量是多少挂载到那个文件夹下面
# `/dev/vda1 `: 第a快磁盘的第一个分区;xueyouhui:50G; cjdriver: 148g;
# `tmpfs`:是建立在内存的虚拟文件系统,默认情况下最大占用内存一半大小的空间 xueyouhui:7.8G; cjdriver: 3.9G;
# `devtmpfs`:用来缩短开机时间,一般是内存的一半;xueyouhui:7.8G - 16G内存; cjdriver: 3.9G - 8G内存;
df -h ###查看整个电脑的文件系统,以及对应的挂载点;挂载点:linux没有盘符的概念,通过制定的分区`挂载`到指定的文件夹上面
blkid ###查看电脑有几磁盘和个分区;示例:/dev/vda1: 表示第一个磁盘的第一个分区;/dev/vdb2:表示第2快磁盘的第二个分区
cat /proc/meminfo | grep MemTotal ###查看内存大小
#查找当前目录所有的大于100MB的文件的名称:
find ./ -size +100M | xargs du -sh ##当前目录
find /usr/ -type f -size +100M -print #/usr/目录
sudo find / -name *tomcat* #find寻找tomcat安装位置
du -sh /data/neusoft/* ### 查看指定目录的大小占用情况
#2:按照时间升序排列:
ls -lrt
#按照时间倒序排列:
ls -lt
#------------------
#按照大小降序:
ls -Sl
#倒序从小到大:
ls -Slr
#如果要方便阅读大小:
ls -Slr -h
#3:诡异测磁盘空间,不足,磁盘空间不足,可能导致 tomcat启动失败、mysql无法启动。
查看:诡异的Linux磁盘空间100% https://www.jianshu.com/p/84ddf500ed9e
lsof -n | grep deleted 命令查看所有的句柄占用情况
kill -9 命令删掉占用句柄的进程就可以了!最后看一下磁盘,简直是完美。
#4:平时磁盘比较占用空间的几个地方;
4-1:应用本身上传的附件
4-2:nginx的访问日志 logs/access.log可以达到7-8G,运行了一年不到的项目,可怕; tomcat的日志,如果生产也是debug的 也能产生 上G的日志。
4-3:tomcat的日志,logs/catalina.out 图书商城高达 12G。
4-4:如果删除了日志文件,系统空间没有增加,那就需要重启对应的应用了。
参见:
nohup ./startup.sh &
getconf LONG_BIT
vi辅助试用ESC 和 : 进行命令输入 和 insert、i 切换到插入模式
退出不保存::q!
显示行号: :set number
跳转到指定行:ngg 或者 nG, eg:23gg 或者 23G 就跳转到23行
高亮单词:Shift + *
退出保存: :wq
保存到另外文件: :w 新文件名称
centos7之前使用的是iptables,之后保留iptables但新增换成了firewall
## 偷懒,直接关闭 centos linux的 防火墙和selinux
#1: 永久关闭iptables 防火墙(centos7 之前的主流使用)
chkconfig iptables on
#2: 永久关闭 firewalld 防火墙,并禁止开机启动
service firewalld stop & systemctl disable firewalld
# 3: 永久关闭 selinux (美国国防部研发的一个linux安全模块),嫌麻烦就直接关闭了
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效
centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等
CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙
注意关闭firewall和iptables防火墙设置,如果关闭之后并重启还不生效,就添加放行设置;内网可以访问,外网还是访问不了,就要查看相关的服务器提供商是否放行对应的端口号,详情见:检查 TCP 80 端口是否正常工作 x
centos7 查看防火墙状态:firewall-cmd --list-all
赤骏司机项目开通的端口号:ports: 80/tcp 80/udp 3306/tcp 3306/udp 6379/tcp 6379/udp 23000/tcp 23000/udp 22122/tcp 22122/udp 8000/tcp 8000/udp
service firewalld restart 重启
service firewalld start 开启
service firewalld stop 关闭
firewall-cmd --list-all 查看防火墙规则
firewall-cmd —state 查看防火墙状态
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=80/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=80/udp --permanent
firewall-cmd --zone=public --permanent --add-port=3306/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=3306/udp --permanent
firewall-cmd --zone=public --permanent --add-port=6379/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=6379/udp --permanent
firewall-cmd --zone=public --permanent --add-port=23000/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=22122/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=22122/udp --permanent
firewall-cmd --zone=public --permanent --add-port=8080/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=8080/udp --permanent
firewall-cmd --zone=public --permanent --add-port=443/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=443/udp --permanent
firewall-cmd --zone=public --permanent --add-port=8888/tcp --permanent
firewall-cmd --zone=public --permanent --add-port=8888/udp --permanent
添加之后重启防火墙生效:重启防火墙命令:firewall-cmd --reload 或者 service firewalld restart
centos7 firewall指定IP与端口访问(常用)
## date -s 是临时神效,重启之后恢复
修改时间,如:date -s "2018-02-26 15:54:00"。也可以是 :date -s "15:54:00"
查看当前时间:date
网络时间同步:ntpdate -u cn.ntp.org.cn
上面服务器无法访问,可以使用:ntpdate -u ntp.aliyun.com
一般需要开机启动的地方进行配置、或者crontab定时器的方式运行。
# 要对:ntp 先进行ping ,选择合适的, 详细看,下面的链接
# http://mirrors.aliyun.com/ 查看aliyun ntp 有详细配置
问题1: the NTP socket is in use, exiting
##先停止ntpd, 重新运行就好:
service ntpd stop
问题2:同步时间报错:Exiting, name server cannot be used: Temporary failure in ......
## 重新配置一下 DNS ,看是否可以访问外网,配置完毕,可以访问,就没问题了
## 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0
##==============================================
如果还报错,就设置一个时间,写入硬件
hwclock -w #不能设置定时同步,那就 写入硬件
Linux同步网络时间 Linux同步网络时间_fei的专栏-CSDN博客_linux同步网络时间
Centos系统修改时间临时和永久生效
国内常用的NTP时间源同步服务器汇总
x
vi /etc/profile #export 添加命令,命令参考java环境变量
# source /etc/profile #立即生效
#env 查看 或者 echo $PATH
centos7 中文乱码解决方法 x 里面有两个目录 vi /etc/sysconfig/i18n 和 vi /etc/locale.conf 如果没有就创建文件
第一招:查看是否已经支持中文如:"echo 中文"
第二招:"mkdir 中文目录名称", 如果可以正常敲出和显示就好着。 赤骏和期权宝就好着,要"reboot"重启一下;
第三招:date 如果显示中文日期,就是OK了
第三招:useradd --help 查看添加用户的说明是否是中文,如果是就好的。
Linux 重启命令 X,一个命令reboot搞定, 平时千万不能关机shutdown,很麻烦要运维开机。
切换到:cd /usr/local/tomcat85/bin/logs
常规或者:cd /usr/local/tomcat85/logs
动态显示日志:tail -f catelina.out 这里会一直动态刷新
使自定义主机解析记录,如:small
www @ 的该域名解析的含义: 说明,简单项目配置的时候,乱起八糟的都可以删掉,只留 @ 和 www
数据盘,新购买(aliyun),也要自己分区(分成几块使用)、格式化(格式化为那种文件系统)、挂载(分区挂载到那一个目录上面,这个目录就能访问这个分区)
&&系统盘vda
&&数据盘vdb
&&分区
&&格式化
&&挂载
&&卸载
1: 查看所有的磁盘、磁盘的分区情况,请仔细查看, fdisk -l
说明:系统盘/dev/vda
说明:数据盘/dev/vdb
扩展分区和文件系统_Linux数据盘【对磁盘进行分区】: https://help.aliyun.com/document_detail/25452.html
***下面以扩充公司项目《图书商城》的上传文件目录为例进行操作
1-1:分区(把一数据磁盘进行分区)【格式化数据盘-Linux格式化数据盘】 https://help.aliyun.com/document_detail/25426.html 分区核心命令: fdisk
1-2:格式化(创建一个文件系统,如windows FAT NTFS、linux ext4),核心命令:mkfs.ext4
1-3:使用 monut 命令 数据盘的一个分区【挂载】到一个新目录下面 mallUploadRootBBBBBBBBBBB
1-4:copy/mv mallUploadRoot 到 mallUploadRootBBBBBBBBBBB
1-5:卸载 mallUploadRootBBBBBBBBBBB 新建 mallUploadRoot,重新挂载
2: df -h 只能看已经挂载了的磁盘磁盘,新购买,没挂载的看不到的。
============================
简单操作
说明:/dev/vdb1: 代表第二块磁盘的第一个分区
mount: 可以查看所有磁盘挂载情况
mount /dev/vdb1 /dazer : 把vdb1挂载到dazer这个目录; 说明,一个磁盘可以挂载到多个目录。
umount /dazer 或者 umount /dev/vdb1 :可以卸载挂载点或者磁盘都可以。 卸载挂载之后,磁盘的文件都还在。
============== 参加 ecs 卸载数据盘 https://help.aliyun.com/document_detail/25447.html
参 https://www.cnblogs.com/zy07zj18/p/7861570.html
卸载挂载之后,磁盘的文件都还在
如果您在/etc/fstab文件中设置了启动实例时自动挂载数据盘分区,请在/etc/fstab文件中删除分区的挂载信息,否则实例重启后您将无法连接实例。
=================================
扩展分区和文件系统_Linux系统盘【对linux系统盘进行扩容】https://help.aliyun.com/document_detail/111738.html
下面以扩充《图书商城》/dev/vda1 为例子; 亲测扩容,按照说明没有问题
Linux如何将未分配的硬盘挂载出来(碧桂园潼湖的主机)
linux telnet
linux下面安装telnet: yum install telnet
mac下面安装telnet: brew install telnet <前置条件安装了mac brew包管理器>
--------------------
telnet 192.168.25.133 22 : 查看指定服务器的22端口
telnet taobao.com 22 查看指定域名的22端口
# 建立用户,指定访问目录在网站根目录下的某一文件夹,但是不能对其他的网站目录进行操作(只读)
# 现在,ftp使用xxx的用户名登录,会自动锁定设置的目录
# 其中的目录,可以自己指定
# zhangsan是账号、zhangsanpwd 是密码,自己随便替换
# 说明 windows 也可以使用 openSSL, 类似 linux 形式连接 远程windows
# 查看所有用户:cat /etc/passwd 或者 tail -l /etc/passwd
# 查看所有的用户组: cat /etc/group; tail -f /etc/group;
$ Linux添加、创建新用户 https://www.cnblogs.com/zhyantao/p/10582839.html
# 添加新用户并且指定用户组: useradd -G root dazer # 添加新用户dazer并指定用户组root
useradd -d /usr/local/nginx/html/www.xxx.com -m zhangsan
passwd zhangsan # 修改用户zhangsan的密码,如果aA1111111
# chown命令修改文件的拥有者:拥有组;
# 拥有着:用户组,多个人拥有一个组; frontUserGroup 是用户组。
# 不给权限话,导致上传会有问题的; 拥有组,必须给,-R 要测试【上传】和【删除】是否都有用。
chown -R zhangsan:frontUserGroup /usr/local/nginx/html/www.xxx.com
这里使用root用户组把
chmod -R 777 /usr/local/nginx/html/www.xxx.com
我们经常需要处理定时任务,比如,也可以直接学习 “杨哥Linux云计算系列①: CentOS7入门到精通 (完整版)”
1)tomcat垃圾文件每天删除
2)nginx日志文件每周进行切割
3)mysql数据库每天进行备份
这里全部参考 centos中crontab(计时器)用法详解
linux下的crontab安装及简单使用
关于一些脚本文件可以参见:脚本 linux bash 使用 shell PowerShell、alibaba clound toolkit、 OpenSSH x
### crontab没有精确到秒的
## 这里全部参考 centos中crontab(计时器)用法详解 https://www.cnblogs.com/ccdc/archive/2012/06/01/2529471.html
1: centos7 安装 定时任务cron,默认 centos7 已经默认按照了 cron
service crond status #查看系统cron启动状态
service crond restart #重新启动cron
tail -f var/log/cron 查看执行日志
2: 查看所有的配置了的任务
crontab -l #查看现在配置的所有任务
eg:
no crontab for root
0 9 * * * /usr/sbin/ntpdate cn.ntp.org.cn > /dev/null ###每天九点整同步国家标准时间,输出到/dev/null文件中
*/1 * * * * /usr/sbin/ntpdate ntp.aliyun.com >> /var/log/cron_ntpdate.txt 比如,这里修改为/var/log/cron_ntpdate.txt; 每分钟同步一次时间并输出到指定文件;日志文件不存在会自动生成的
*/1 * * * * /usr/local/teleport/start.sh >> /var/log/cron_teleport.txt #文件不存在会自动创建;这里自动重启teleport, teleport有bug 总是自动停止了; start.sh如果服务启动这,就不会再次启动; 这里是每5分钟
0 2 * * * /usr/local/sh/nginx_split.sh > /var/null ##每天2点执行一次nginx日志分割
0 3 * * * /usr/local/sh/mysql_backup.sh > /var/null ##每天3点执行一次数据库备份,最好执行一次压缩。数据库文件还是挺大的。
0 */11 * * * /usr/local/sh/website_monitor.sh > /var/null ##每小执行一次,监控网站是否正常,最大到59
0 4 * * * /usr/local/sh/auto-del-x-days-ago-log.sh > /var/null ##每天4点执行一次,清理日志的脚本;包含tomcat历史日志、nginx历史日志、数据库备份历史文件的清理、其他包含子文件夹的目录文件、rsyncd同步文件日志(/var/log/rsyncd.log)
10 0 * * * echo "GGGHJJJJ" >> /tmp/test.txt ##这里是测试,每天0点10分,写测试文件到test.txt中
0 2 * * * /usr/local/clear/clearCache.sh ###清理linux vm内存缓存; echo 3 > /proc/sys/vm/drop_caches ##每天2点清理一次
10 16 * * * /nuc/logs/bake_access_log/nginx-log-extract.sh copy_hsjc_all >> /var/log/log.copy_hsjc_all ##每天16点10分,copy一次hsjc的日志到目标服务器.
0 16 * * * /ymt/logs/bake_access_log/nginx-log-extract.sh copy_ymt_all >> /var/log/log.copy_ymt_all ##每天16点0分,copy一次ymt的日志到目标服务器.
3: 编辑 cron 文件
crontab -e
4: 查看执行日志
tail -f /var/log/cron
tail -f /var/log/cron_ntpdate.txt
tail -f /var/log/cron_teleport.txt
日志文件: /var/log/cron*
5: 常见定时任务举例
#每晚的21:30 重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
#每2分钟同步一下时间
*/2 * * * * /usr/sbin/ntpdate -u ntp.sjtu.edu.cn
#这里cron 表达式和标准的,就少了一个秒,这里5位,标准6位 http://www.bejson.com/othertools/cron/
* * * * * command
分 时 日 月 周 命令/脚本
netstat -ntulp |grep 80 检查80开头端口是否被占用,会列出所有的80开头的
netstat -tulnp 查看所有的端口,以及和端口绑定的本地ip,如果:不是0.0.0.0就是只能指定ip可以访问; QCURE.com就使用该命令
netstat -a 查看所有的监听;Local Address 本地端口; Foreign Address: 外包可以访问端口
kill -9 进程id,查询并杀死对应的进程。kill -9 11823
ss -tnl: 查看服务器上面那些端口被监听。
1:查看tomcat是否运行 ps -ef|grep java
1-1:查看tomcat是否运行 ps -ef |grep tomcat #如果有打印tomcat相关就表示运行
1-2:查看端口是否被占 netstat -apn | grep 8888
1-3:上面几种方式都能看到进程编号,kill -9 1711
查看服务器对外端口是否开放(从本地访问服务器看端口是否开放)【这里是入方向,默认都是入方向】
eg1:
telnet 101.132.189.38 3306 --提示,Connected to 101.132.189.38. Escape character is '^]' ,说明是服务器正常,并且对应端口是通的。
--------------------------------------------------------------------------------------
查看服务器内访问外部端口是开通(从服务器内部访问外部端口是否开放)【这里是出方向,默认出方向都是放行的】【服务器内部要访问外部服务的端口,如 服务器内要发送邮件】
eg2:
telnet smtp.163.com 465
telnet smtp.163.com 25
阿里云,这里25默认是关闭的,开通比较麻烦,使用加密端口把。
#查看服务器内存空闲量
free -g #查看总内存多少,剩余多少,单位G; 可以是free -m
服务器出入方向说明,出入这里都是要站在服务器内部来说的。
1: 入方向: 服务器内部的服务对外提供服务,这是入方向;入方向都是默认禁止的; 平时用的入方向最多。
2: 出方向:服务器内要访问服务器外的资源,这个是出方向,这个默认都是开通的;除了铭感的25号端口邮箱,默认被厂商了。
常用端口总结: https://www.cnblogs.com/gh747/p/10785909.html
开通的端口:
80:nginx
开通 8888/8080/8000:tomcat使用服务器
3306:mysql服务器
6379:redis缓存服务器端口
443: nginx 使用 、https;
22122: fastDFS Tracker、
23000:fastDFS Storage、
8000: 其他用
21:ftp服务器要用. 21/65500 ,只开通21就行
20:ftp辅助端口,也必须开通; 使用windows自带的ftp, 使用 主动模块
22:远程端口号必须开通;(windows/linux都需要开通,windows使用powershell、openssh)
7190: telport堡垒机
27017、27018: MongoDB, MongoDB经常被黑客攻击,我们使用:47071
9200、9300、5601:es访问端口、内部集群通讯端口、图像化界面端口
873:两台服务器(rsync)互相备份端口
500、4500: rancher机器之间host之间需要的通讯端口,UDP端口。
有时候使用的是企业自建的私有云,配置的yum源不合适,我们可以进行替换为aliyun yum源头:
centos 7 添加 aliyun yum 源、epel源 https://www.jianshu.com/p/47d1185305aa
今天搭建docker registry的时候,开通5000端口,发现
telnet localhost 5000 OK
telnet 127.0.0.1 5000 错误,提示:No route to host,很奇怪,把 服务器防火墙也关闭了,还是。后面重启服务器终于好了。这个是防火墙问题,关闭防火墙、重启服务器。
telnet registry.ityun.ltd 54321 提示,Connection refused,因为这个端口本身就不存在。说明服务器端口是开发的,只是对应的端口没有服务。
“Connection refused”是目标主机明确拒绝了这次连接,有可能是该端口没有启动监听。
“No route to host”是一个网络问题,不是目标主机的回复。
一次项目使用的本机机房,linux centos 7 发现电脑cpu 占用异常的高,而且是一个诡异的进程搜索都搜不到,占用700%的cpu
top命令:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13359 root 20 0 2453188 3316 1860 S 746.2 0.0 30:17.06 obama1
971 root 20 0 1339624 112256 25588 S 27.9 0.3 19:37.62 dockerd
发现异常的进程就是obama1 ”奥巴马1” 这个进程,我们进行删除。
# 查找并杀死进程
sudo kill -9 $(ps -ef|grep 需要杀死的进程名称这里直接替换|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
参考-已成功解决问题:linux 根目录爆满 解决 /dev/mapper/centos-root 100%问题