Category Archives: Useful Tips

Basic IPv6 Configure/ IPv6 基础设置 on Ubuntu

如题, 简单的需要在一个分配了IPv6的VPS上用上IPv6, 能够ping6通只有ipv6的机器. 假设我这里的网卡设备是 eth0 查看路由 ping6 -c 1 ff02::2%eth0 #查看路由网关, 之后的{IPv6-Gateway} 设置路由 ip -6 route # 查看路由列表 sudo ip -6 route add default via {IPv6-Gateway} dev eth0 # 设置路由列表 设置IP地址 sudo ip -6 addr add {IPv6-IPAddress}/64 dev eth0 # … Continue reading

Posted in Useful Tips | Tagged | Leave a comment

Saltstack 与 Ansible

最近一个月业余时间主要又上手一些新的技术栈, 于是用express.js做了这样一个数据发布和展示的网站:VPSRecord.com. 得益于最近一直折腾saltstack, 让我可以随便在一个salt-minion上安装和初始化好nginx和mysql, supervisor等各种环境, 加上自己写的bootstrap.py的初始化脚本, 网站可以在一个全新的ubuntu系统上, 两个命令就快速部署. 在了解saltstack之余, 感觉到了一些saltstack使用上的一些长处和短处, 比如master/minion进程有时候会挺占用空间, 换一个master时候也有点麻烦, 有时候一个job执行, 收不到一些minion执行结果的返回, 用一个内网机器做master其他minion是没法连接你的. 于是又了解了一下ansible, 是一个不需要master/deamon, 只是基于ssh的配置管理系统, 内置模块仔细看了一下也挺齐全了, 准备有时间去试试, 官网还有10个节点以上需要付费的一套ansible UI控制面板. 这里列一些看过觉得不错的saltstack和ansible的slides吧: saltstack SaltStack 101 Getting Started with SaltStack ansible How edx uses ansible? Deploying with Vagrant and Ansible

Posted in Lists, Useful Tips | Tagged , | 3 Comments

Nodejs tips: npm Installing a specific version of a package, NPM安装特定版本包

First, find the version of the package(handlebars etc.) 首先, 先看看这个包有哪些发布版本(这里以handlebars为例) $ npm view handlebars versions OUTPUT: npm http GET https://registry.npmjs.org/handlebars npm http 304 https://registry.npmjs.org/handlebars [ ‘1.0.2-beta’, ‘1.0.4-beta’, ‘1.0.5-beta’, ‘1.0.6-2’, ‘1.0.6’, ‘1.0.7’, ‘1.0.8’, ‘1.0.9’, ‘1.0.10’, ‘1.0.11’, ‘1.0.12’, ‘1.1.0’, ‘1.1.1’, ‘1.1.2’, ‘1.2.0’, … Continue reading

Posted in Useful Tips | Tagged , | Leave a comment

Saltstack tips: 查找对应node的pillar配置

pillar配置用于保存一些敏感信息, pillar模块提供了一些基本的函数: ext get item items raw 假设我的pillar设置: mysql: root_password: 1234567 apps: app1: databases: – dbname database_user: name: gohan pass: 123 执行item来获取这两项pillar配置, (如果使用items不加参数, 会获取所有的配置项, 项目太多比较不好找关键的项目): sudo salt “node1” pillar.item mysql apps node1: ———- apps: ———- app1: ———- database_user: ———- name: … Continue reading

Posted in Useful Tips | Tagged , | Leave a comment

Nodejs Tips: 在virtualenv下使用nodejs

如题, python的辅助工具virtualenv, 让python的扩展库版本独立, 且不会污染主环境, 最近在用express.js写页面, 也希望能用到类似virtualenv的工具, 没发现一个特别合适的, 于是我的想法是直接装一个node到virtual的bin下面, 额外修改一下环境变量. 在ubuntu 12.04环境下一切正常. 这里虚拟环境路径以virtenv为例 1. 安装node到虚拟环境(virtenv). 1.1 直接用的是官网二进制包 (Gohan觉得用二进制包比较方面快速) # 安装额外工具 $ sudo apt-get install curl project$ virtualenv virtenv project$ wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-x64.tar.gz project$ tar zxvf node-v0.10.28-linux-x64.tar.gz project$ cp -r node-v0.10.28-linux-x64/* virtenv/ project$ … Continue reading

Posted in Useful Tips | Tagged , | Leave a comment

tmux command 基本用法

tmux是一个命令行多屏辅助工具, 在这里总结一些常用的tmux的command. tmux中, 可以开启一个session, session对应一个到多个window, 每一个window又有一个到多个panel. 创建新session tmux new [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [shell-command] new为缩写, 完整拼写new-session -d: 如果使用-d参数, 那么新建的session不会被默认attach. -n: 新建session中的窗口名 -s: session的名字 -t: 目标session, 使用它会和目标session共享窗口, 比较高级的用法 tmux new 最基础的用法足够 连接(attach)已有session tmux attach … Continue reading

Posted in Useful Tips | Tagged , | Leave a comment

Saltstack Tips

通过boostrap脚本来安装saltstack(Install saltstack using bootstrap script) 最近半个月在试着用saltstack, 安装saltstack还是用官方提供的bootstrap脚本最方便了. 同时安装master和minion: curl -L http://bootstrap.saltstack.org | sudo sh -s — -M 只安装minion: curl -L http://bootstrap.saltstack.org | sudo sh 查看详细参数: $ sh bootstrap-salt.sh -h 修改某个minion的unix密码(change a minion’s unix password) 用saltstack可以自己写state去管理某个minion的用户属性, 给用户设置密码. 同时也可以直接在命令行使用shadow这个模块去重设密码. 比如我要给minion-id=node1的机器的用户gohan设置密码为”password”: 先获取password的hash: python … Continue reading

Posted in Useful Tips | Leave a comment

Ubuntu Tips

查看ubuntu已经安装的包(How to list all installed Ubuntu packages) To get a list of packages installed locally do this in your terminal: dpkg –get-selections | grep -v deinstall To save that list to a text file called packages on your desktop do … Continue reading

Posted in Useful Tips | Tagged , | Leave a comment