Linux 服务器端口不可访问问题排查

问题描述

项目中使用的服务器是物理机,使用 centos 7.6 版本的操作系统, 4 个千兆网口,上架时间 23 年 8 月份。部署在内网机房,并且在内网机房分配的固定IP 是 172.87.7.249,并在机器上部署了 docker,

阅读更多

Linux nohup 命令

nohup 表示不挂断地运行命令,是 no hangup 的缩写,语法格式如下:

1
nohup Command [ Arg ... ] [ & ]
  • nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。
  • nohup放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态,一般配合&符号一起使用。如 nohup command &。
阅读更多

聊一聊 Linux 的起源和发展

最近在系统性重新整理下关于 linux 的一些知识。linux 对于所有的开发工程师来说都不算是陌生的东西,但往往在面对它时,却又显得那么生疏。关于生疏,对于出入门的同学来说,其过多发行版和指令已经够吃一壶的了。这篇文章主要是看看 linux 自身的一些故事。

计算机主机实际上就是一堆硬件,为了更好的、有效率的控制这些硬件资源,于是乎就有了操作系统。操作系统除了负责控制这些硬件资源的分配,还具备提供计算机运行所需的一些基本功能,比如网络功能。当然,如果仅有这些是不够的,对于用户来说,直接面向的并不是硬件或者操作系统,而是软件。因此,操作系统也会为了让工程师更容易开发软件,也提供了一整组系统调用接口;这也是 Unix 或者 Linux 最原始的初心和核心。

阅读更多

Linux 中的 namespace

基本介绍

namespace 是 Linux 内核用来隔离内核资源的方式。通过 namespace 可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个 namespace 中。

Linux namespaces 是对全局系统资源的一种封装隔离,使得处于不同 namespace 的进程拥有独立的全局系统资源,改变一个 namespace 中的系统资源只会影响当前 namespace 里的进程,对其他 namespace 中的进程没有影响。

阅读更多

yum 指令

yum(Yellowdog Updater Modified):是一个基于 RPM 的软件包管理器,能够从指定服务器自动下载RPM包并且安装,可以处理软件之间的依赖关系,一次性安装所有依赖的软件包,无需一个个下载安装。

工作原理示意图

yum 客户端及服务器的工作原理如下图所示

阅读更多

Linux Top 命令指南

top 命令允许用户监视 Linux 上的进程和系统资源使用情况,它是系统管理员工具箱中最有用的工具之一,并且在每个发行版中都预装了它。与 ps 等其他命令不同,它是交互式的,我们可以浏览进程列表、终止进程,等等。本文中,我们将了解如何使用 top 命令。

阅读更多

Linux 下安装 Mysql 数据库

更新,Centos 7 离线安装 Mysql 5.7

近期的一个项目,需要使用 MySQL 5.7,但是甲方所提供的机器是不能访问外网环境的,所以只能通过离线安装的方式来搞,这里大概记录一下,备忘。

选择 Linux - Generic -> Compressed TAR Archive:(mysql-5.7.18-linux-glibc2.12-x86_64.tar.gz),版本按需下载即可;下面是具体的安装过程。

阅读更多

Linux 下安装 Zookeeper

安装 Zookeeper

目前 Curator 有 2.x.x 和 3.x.x 两个系列的版本,支持不同版本的 Zookeeper。其中 Curator 2.x.x 兼容 Zookeeper的 3.4.x 和 3.5.x。而 Curator 3.x.x 只兼容 Zookeeper 3.5.x。

Curator 2.x.x - compatible with both ZooKeeper 3.4.x and ZooKeeper 3.5.x
Curator 3.x.x - compatible only with ZooKeeper 3.5.x and includes support for new

阅读更多

linux shell 编程小记

if 条件 OPTION

OPTION 解释
[-a file] 如果file存在则为真 ,也可以表示为 and: 条件与
if [ -z “condition1” -a -z “condition2” ]
[-b file] 如果file存在且是一个特殊文件则为真
[-c file] 如果file存在且是一个特殊文件则为真
[-d file] 如果 file 文件存在且是一个目录则为真,d前的!是逻辑非 
#表示目录不存在,则执行后面的 then 操作 
if [ ! -d lcd_path/par_date ]
[-e file] 如果 file文件存在则为真
[-f file] 如果 file 存在且是一个普通文件则为真
[-g file] 如果 file 存在且已经设置了SGID则为真(SUID 是 Set User ID, SGID 是 Set Group ID的意思)
[-h file] 如果 file 存在且是一个符号连接则为真
[-k file] 如果 file 存在且已经设置粘制位则为真
[-p file] 如果file存在且是一个名字管道(F如果O)则为真。管道是linux里面进程间通信的一种方式,
其他的还有像信号(signal)、信号量、消息队列、共享内存、套接字(socket)等
[-r file] 如果file存在且是可读的则为真
[-s file] 如果file存在且大小不为0则为真
[-t FD] 如果文件描述符FD打开且指向一个终端则为真
[-u file] 如果file存在且设置了SUID(set userID)则为真
[-w file 如果file存在且是可写的则为真
[-x file] 如果file存在且是可执行的则为真
[-O file] 如果file存在且属有效用户ID则为真
[-G file] 如果file存在且属有效用户组则为真
[-L file] 如果file存在且是一个符号连接则为真
[-N file] 如果file存在and has been mod如果ied since it was last read则为真
[-S file] 如果file存在且是一个套接字则为真
[-o optionname] 如果shell选项“optionname”开启则为真
[-z string] “string”的长度为零则为真
[-n string] or [string] “string”的长度为非零non-zero则为真
阅读更多