规定:
Supervisor
主配置文件放到 /etc/supervisord.conf
,其他服务配置文件统一放到 /etc/supervisor
,通过主配置文件来 include
该目录的配置文件。
以下为 Supervisor
一键安装配置脚本(需要 sudo
执行该脚本):
# !/bin/bash
set -e
pip install supervisor
mkdir -p /etc/supervisor
!function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function r(n,t){return n<<t|n>>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<<r%32,n[14+(r+64>>>9<<4)]=r;var e,i,a,d,h,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e<n.length;e+=16)i=l,a=g,d=v,h=m,g=f(g=f(g=f(g=f(g=c(g=c(g=c(g=c(g=u(g=u(g=u(g=u(g=o(g=o(g=o(g=o(g,v=o(v,m=o(m,l=o(l,g,v,m,n[e],7,-680876936),g,v,n[e+1],12,-389564586),l,g,n[e+2],17,606105819),m,l,n[e+3],22,-1044525330),v=o(v,m=o(m,l=o(l,g,v,m,n[e+4],7,-176418897),g,v,n[e+5],12,1200080426),l,g,n[e+6],17,-1473231341),m,l,n[e+7],22,-45705983),v=o(v,m=o(m,l=o(l,g,v,m,n[e+8],7,1770035416),g,v,n[e+9],12,-1958414417),l,g,n[e+10],17,-42063),m,l,n[e+11],22,-1990404162),v=o(v |
pyenv 是一个开源的 Python 版本管理工具,可以轻松地给系统安装任意 Python 版本,想玩哪个版本,瞬间就可以切换。有了 pyenv
,我们不需要再为系统多版本 Python 共存问题而发愁,也不用为手动编译安装其他 Python 版本而浪费时间,只需要执行一条简单的命令就可以切换并使用任何其他版本,该工具真正地做到了开箱即用,简单实用。
virtualenv 是一个用来创建完全隔离的 Python 虚拟环境的工具,可以为每个项目工程创建一套独立的 Python 环境,从而可以解决不同工程对 Python 包,或者版本的依赖问题。假如有 A 和 B 两个工程,A 工程代码要跑起来需要 requests 1.18.4
,而 B 工程跑起来需要 requests 2.18.4
,这样在一个系统中就无法满足两个工程同时运行问题了。最好的解决办法是用 virtualenv
给每个工程创建一个完全隔离的 Python 虚拟环境,给每个虚拟环境安装相应版本的包,让程序使用对应的虚拟环境运行即可。这样既不影响系统 Python 环境,也能保证任何版本的 Python 程序可以在同一系统中运行。
**最佳实践:**使用 pyenv
安装任何版本的 Python,然后用 virtualenv
创建虚拟环境时指定需要的 Python 版本路径,这样就可以创建任何版本的虚拟环境,这样的实践真是极好的!
说明:本文翻译自 Plumbum 官网主页,对少量不太重要的内容进行了缩减。
你是否曾希望将 shell 脚本紧凑地融入到真正的编程语言里面?向 Plumbum Shell Combinators 问好。Plumbum (lead 的拉丁语,以前用来制作管道)是一个小型但功能丰富的 Python 类 shell 脚本程序库。该库的理念是 “永远不要再写 shell 脚本”,因此它试图合理地模仿 shell 语法(shell 组合器),同时保持 Python 特性和跨平台。
除了类似 shell 的语法和便捷的快捷方式之外,该库还提供本地和远程命令执行(通过 SSH)、本地和远程文件系统路径、简单的工作目录和环境操作、快捷访问 ANSI 颜色,以及编程命令行接口(CLI)应用程序工具包。现在让我们看一些代码!
- filename: _config.yml
- next version: 5.1.3
- next repo: git clone https://github.com/iissnan/hexo-theme-next themes/next
# ---------------------------------------------------------------
# Theme Core Configuration Settings
# ---------------------------------------------------------------
# Set to true, if you want to fully override the default configuration.
https://github.com/shadowsocks/shadowsocks/blob/master/README.md
- 前台启动
sudo ssserver -p 443 -k password -m aes-256-cfb
- 后台启动
sudo ssserver -p 443 -k password -m aes-256-cfb -d start
- 停止
相关工具介绍
- iTerm2:Mac 下 Terminal 终端的替代品,拥有更多强大的功能,想了解更多请戳 iTerm2 官网;
- zsh:Linux 的一种 shell 外壳,和 bash 属于同类产品;
- Oh-My-Zsh:用来管理 zsh 的配置,同时还有很多社区贡献的主题配置以及好用的插件可供使用,了解更多请戳 Oh-My-Zsh 官网 ;
配置方案总览
- iTerm2 终端工具;
- iTerm2 Solarized Dark Higher Contrast 配色方案;