systemd 配置 supervisor

systemd 配置 supervisor systemd supervisor 最近升级到了 kubuntu 15.10,系统启动管理由 init 变成了 systemd。 我一般习惯使用 supervisor 来管理我的程序,但是必须要系统开机启动,下面是我的一些记录。 一、安装 supervisor 切换到 root 或使用 sudo 安装

二、默认的 supervisor 配置文件

三、测试 supervisor 能够正常启动

四、创建 supervisor 的 systemd 启动配置文件 在目录 /lib/systemd/system 下, 创建文件 supervisord.service 内容如下

需要注意的是,如果你的 supervisord 所在的目录和我的不一样,你需要先查找 supervisord 的位置,然后修改成合适的值。 五、开机启动 启动 supervisor Read more…

systemctl 命令完全指南

systemctl 命令完全指南 编译自:http://www.tecmint.com/manage-services-using-systemd-and-systemctl-in-linux/本文地址:https://linux.cn/article-5926-1.html Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。 在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。 使用Systemctl管理Linux服务 本文旨在阐明在运行systemd的系统上“如何控制系统和服务”。   Systemd初体验和Systemctl基础   1. 首先检查你的系统中是否安装有systemd并确定当前安装的版本 # systemctl –version systemd 215 +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR 上例中很清楚地表明,我们安装了215版本的systemd。   2. 检查systemd和systemctl的二进制文件和库文件的安装位置 # whereis systemd systemd: /usr/lib/systemd /etc/systemd /usr/share/systemd /usr/share/man/man1/systemd.1.gz # whereis systemctl systemctl: /usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz   3. Read more…

Systemd 入门教程:实战篇

上一篇文章,我介绍了 Systemd 的主要命令,今天介绍如何使用它完成一些基本的任务 一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。

上面的命令相当于在/etc/systemd/system目录添加一个符号链接,指向/usr/lib/systemd/system里面的httpd.service文件。 这是因为开机时,Systemd只执行/etc/systemd/system目录里面的配置文件。这也意味着,如果把修改后的配置文件放在该目录,就可以达到覆盖原始配置的效果。 二、启动服务 设置开机启动以后,软件并不会立即启动,必须等到下一次开机。如果想现在就运行该软件,那么要执行systemctl start命令。

执行上面的命令以后,有可能启动失败,因此要用systemctl status命令查看一下该服务的状态。

上面的输出结果含义如下。 Loaded行:配置文件的位置,是否设为开机启动 Active行:表示正在运行 Main PID行:主进程ID Status行:由应用本身(这里是 httpd )提供的软件当前状态 CGroup块:应用的所有子进程 日志块:应用的日志 三、停止服务 终止正在运行的服务,需要执行systemctl stop命令。

有时候,该命令可能没有响应,服务停不下来。这时候就不得不”杀进程”了,向正在运行的进程发出kill信号。

此外,重启服务要执行systemctl restart命令。

四、读懂配置文件 一个服务怎么启动,完全由它的配置文件决定。下面就来看,配置文件有些什么内容。 前面说过,配置文件主要放在/usr/lib/systemd/system目录,也可能在/etc/systemd/system目录。找到配置文件以后,使用文本编辑器打开即可。 systemctl cat命令可以用来查看配置文件,下面以sshd.service文件为例,它的作用是启动一个 SSH 服务器,供其他用户以 SSH 方式登录。

可以看到,配置文件分成几个区块,每个区块包含若干条键值对。 下面依次解释每个区块的内容。 五、 Read more…

Systemd 入门教程:命令篇

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。 本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。 一、由来 历史上,Linux 的启动一直采用init进程。 下面的命令用来启动服务。

这种方法有两个缺点。 一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。 二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。 二、Systemd 概述 Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。 根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。 (上图为 Systemd 作者 Lennart Poettering) 使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

上面的命令查看 Systemd 的版本。 Systemd 的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。事实上,现在还有很多人反对使用 Systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反”keep simple, keep stupid”的Unix 哲学。 (上图为 Systemd 架构图) 三、系统管理 Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。 3.1 Read more…

vim操作技巧

Vim中显示不可见字符  :set invlist, 或 :%! 或还可以自己定义: set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:< set list :set nolist可以回到正常的模式 cat -A file 也可以显示不可见字符 dos2unix is a commandline utility that will do this, or :%s/^M//g will if you use Ctrl–v Ctrl–mto input the ^M, or you can :set ff=unix and vim will do it for you. Change the lineendings in Read more…

利用yum下载软件包的三种方法

方法一: downloadonly插件 有一个yum的插件叫做downloadonly,顾名思义,就是只下载不安装的意思。 1. 安装插件 yum install yum-download 2. 下载 yum update httpd -y –downloadonly 这样httpd的rpm就被下载到/var/cache/yum/中去了。 你也可以指定一个目录存放下载的文件 yum update httpd -y –downloadonly –downloaddir=/opt 值得注意的是,downloadonly插件不但适用于yum update,也适用于yum install。 方法二:yum-utils中的yumdownloader yum-utils包含着一系列的yum的工具,比如 debuginfo-install, package-cleanup, repoclosure, repodiff, repo-graph, repomanage, repoquery, repo-rss, reposync, repotrack, verifytree, yum-builddep, yum-complete-transaction, yumdownloader, yum-debug-dump 和 yum-groups-manager. 1. 安装yum-utils.noarch yum -y install Read more…

vim 字符串检索vs字符串替换,全局,局部替换

from:http://andyss.blog.51cto.com/315552/131652 全局替换命令格式: 用法为 :[addr]s/源字符串/目的字符串/[option] 全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行。 如:“1,20” :表示从第1行到20行; “%” :表示整个文件,同“1,$”; “. ,$” :从当前行到文件尾; s : 表示替换操作 [option] : 表示操作类型 如:g 表示全局替换; c 表示进行确认 p 表示替代结果逐行显示(Ctrl + L恢复屏幕); 省略option时仅对每行第一个匹配串进行替换; 如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义 下面是一些例子: #将That or this 换成 This or that :%s/That or this/\u\2 or \l\1/ —- #将句尾的child换成children :%s/child[,.;!:?]/children\1/g —- #将mgi/r/abox换成mgi/r/asquare :g/mg[ira]box/s//mg//my\1square/g    <=>  :g/mg[ira]box/s/box/square/g Read more…

自动化部署必备技能—搭建YUM仓库

自动化部署必备技能—搭建YUM仓库 YUM主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。 相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。 1.1 服务端配置 mkdir -p /application/yum/centos6/x86_64/    ß1.创建yum仓库目录,rpm包都上至此目录 yum -y install createrepo                ß2.安装createrepo软件 createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/            ß3.初始化repodata索引文件 cd /application/yum/centos6/x86_64/       ß4.进入需要提供仓库的目录 python -m SimpleHTTPServer 80 &>/dev/null &   ß5.可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境, 可以通过浏览器输入本机IP查看。 createrepo –update /application/yum/centos6/x86_64/        ß6.每加入一个rpm包就要更新一下 sed -i ‘s#keepcache=0#keepcache=1#g’ /etc/yum.conf          ß修改yum配置文件keepacache=0改为1,保存下载过的软件 cachedir=/var/cache/yum/$basearch/$releasever         ß安装包存储目录= /var/cache/yum/x86_64/6/base/packages 1.2客户端配置 cd /etc/yum.repos.d [root@B yum.repos.d]# vi oldboy.repo          ß连接本地yum源 Read more…

hosts for 翻墙

127.0.0.1  localhost 255.255.255.255 broadcasthost ::1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters #for tech internet # by awolau start 64.233.162.83 dl.google.com 64.233.162.83 dl.l.google.com 64.233.162.83 dl-ssl.google.com 64.233.162.83 docs.google.com 64.233.162.83 docs0.google.com 64.233.162.83 docs1.google.com 64.233.162.83 docs2.google.com 64.233.162.83 docs3.google.com Read more…