容器进阶:网络概述
参考:《每天5分钟玩转Docker容器技术》 容器网络可以分为单个host上的容器网络和跨多个host的网络。 单主机网络docker安装时会自动在host上创建三个网络,如: 12345[root@test ~]# docker network lsNETWORK ID NAME DRIVER SCOPEd9cf9b2bd659 bridge bridge local44689f1ca656 host host local2d6cf648cb7e none null local 即bridge、host、none三个网络。 none网络顾名思义,none网络就是什么都没有的网络。挂在这个网络下的容器除了lo,没有其他任何网卡。容器创建时,可以通过--network...
Linux:使用systemd管理进程
参考:Systemd服务管理教程 Systemd 入门教程:实战篇 Systemd 入门教程:命令篇 概述systemd是目前Linux系统上主要的系统守护进程管理工具,由于init一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面init也仅仅是执行启动脚本,并不能对服务本身进行更多的管理。所以从CentOS 7 开始也由systemd取代了init作为默认的系统进程管理工具。 systemd所管理的所有系统资源都称作Unit,通过systemd命令集可以方便的对这些Unit进行管理。比如systemctl、hostnamectl、timedatectl、localctl等命令,这些命令虽然改写了init时代用户的命令使用习惯(不再使用chkconfig、service等命令),但确实也提供了很大的便捷性。 特点 提供了服务按需启动 的能力,使得特定的服务只有在真定被请求时才启动,显著提高开机启动效率 允许更多的进程并行启动: Systemd 通过 Socket 缓存、DBus...
Nginx常见的错误配置
翻译自Common Nginx misconfigurations that leave your web server open to attack Nginx是当前主流的Web服务。 以下是一些最常见的错误配置。 Missing root location12345678server { root /etc/nginx; location /hello.txt { try_files $uri $uri/ =404; proxy_pass http://127.0.0.1:8080/; }} root指令指定了Nginx的根目录。 在上面的示例中,根目录是*/etc/nginx,这意味着我们可以访问该目录下的文件。 上面的配置没有/的 location(location / {...}),只有/hello.txt的 location。...
Shell学习:命令
命令优先级:别名(alias)、保留关键字、函数(funciton)、内置命令、外部命令。 别名alisa 用来给命令创建一个别名。 CentOS 7默认创建的alias: 1234567891011[root@test ~]# aliasalias cp='cp -i'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'alias ls='ls --color=auto'alias mv='mv -i'alias rm='rm -i'alias which='alias | /usr/bin/which --tty-only...
Linux性能优化:CPU性能分析工具--vmstat
vmstat是Virtual Meomory Statistics(虚拟内存统计)缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。 语法格式: 1vmstat [options] [delay [count]] delay:刷新时间间隔。如果不指定,只显示一条结果。 count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。 参数说明 参数 说明 -a 显示活跃和非活跃内存 -f 显示从系统启动至今的fork数量 -m 显示slabinfo -n 只在开始时显示一次各字段名称 -s 显示内存相关统计信息及多种系统活动数量 -d 显示磁盘相关统计信息 -p 显示指定磁盘分区统计信息 -S 使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024...
搭建本地yum镜像源
概述由于内网有大量机器不能访问公网,安装软件比较费劲,那么,如何让这些机器也能yum快速安装最新的软件呢?搭建一个本地镜像源能解决这样的问题,而如何让本地镜像源仓库的软件保持最新,就需要一个神器–reposync。 reposync用于将远端镜像源同步到本地。 语法说明1/usr/bin/reposync [options] 参数说明 参数 说明 -c 要使用的配置文件(默认为/etc/yum.conf) -d 删除存储库中不再存在的本地包 -r REPOID, –repoid=REPOID 指定repo id来查询,可以指定多个次(默认全部启用) -p DESTDIR, –download_path=DESTDIR 下载包的路径:默认为当前目录 -g 删除未通过GPG签名检查的软件包 -u 只列出要下载的URL,不要下载 -n 仅下载per-repo的最新软件包 -l 启用yum插件支持 部署 系统:CentOS Linux release 7.9.2009...
Shell学习:命令提示符
概述用户进入 Bash 以后,Bash 会显示一个命令提示符,用来提示用户在该位置后面输入命令。 环境变量 PS1命令提示符通常是美元符号$,对于根用户则是井号#。这个符号是环境变量PS1决定的,执行下面的命令,可以看到当前命令提示符的定义。 1$ echo $PS1 Bash 允许用户自定义命令提示符,只要改写这个变量即可。改写后的PS1,可以放在用户的 Bash 配置文件.bashrc里面,以后新建 Bash 对话时,新的提示符就会生效。要在当前窗口看到修改后的提示符,可以执行下面的命令。 1$ source ~/.bashrc 命令提示符的定义,可以包含特殊的转义字符,表示特定内容。 \a:响铃,计算机发出一记声音。 \d:以星期、月、日格式表示当前日期,例如“Mon May 26”。 \h:本机的主机名。 \H:完整的主机名。 \j:运行在当前 Shell 会话的工作数。 \l:当前终端设备名。 \n:一个换行符。 \r:一个回车符。 \s:Shell...
CentOS 7部署samba服务
参考:https://wiki.samba.org/index.php/User_Documentation 由于家里内网需要一个共享存储服务,用来存放一些蓝光电影资源😜。至于为什么不用ftp,个人主观体验后,还是觉得samba更简单好用。 安装新建一个虚拟机。 系统:CentOS Linux release 7.9.2009 (Core) 配置:2C4G2T 存储路径:/data/samba 1234systemctl stop firewalldsystemctl disable firewalldsetenforce 0yum install samba -y 创建共享目录和用户: 123mkdir -p /data/sambauseradd -s /sbin/nologin -M test01smbpasswd -a test01 配置配置文件说明配置分为两部分: global(全局) share(共享) global网络相关配置(Network-Related Options) 参数 说明 workgroup the...
CenOS下载离线依赖包神器--yumdownloader
本文只总结一些常用的用法,更详细的说明见man yumdownloader和 info yumdownloader。 概述有时候所在服务器环境不能访问外网,yum安装会感到非常捉急,因为离线rpm安装的话,有很多依赖需要下载安装。因此,需要一个神器来解决问题,没错,就是它——yumdownloader 。 需要注意的是,CentOS 8中,使用了基于DNF技术(YUM v4)的 YUM 工具,dnf命令代替了原先的yum,yum命令只是软链接到dnf,yumdownloader实质是dnf download命令。 安装yumdownloader 命令在软件包 yum-utils 里面。通常系统已安装该命令,若系统未安装,则可以通过以下命令安装: 1yum install yum-utils -y 语法格式1yumdownloader [options] package1 [package2]...