可能用到的 shell 命令
-
ssh
:遠程登錄服務(wù)器。時間久了會覺得每次登陸都輸密碼忒麻煩,可以按照這篇教程配置,之后就可以免密碼登陸了。
$cd ~/.ssh
$ssh-keygen -t rsa # 一路回車就好。
$cp id_rsa.pub authorized_keys
$ssh-copy-id -i someone@example.com
-
scp
:遠程 copy 。如果是 copy 目錄,需要加-r
參數(shù)。 -
supervisorctl
:進程監(jiān)控程序。比如服務(wù)器 down 掉以后,這個命令負責(zé)重啟進程。需要在/etc/supervisor/conf.d
目錄下寫配置腳本。如果更改,要supervisorctl reload
。 -
殺死占用某個端口進程:先用
netstat -antup | grep 端口號
找出進程號,然后用kill -9 進程號
殺死進程。 -
vim
:dd
刪除當前行;:1,$d
刪除所有行。
服務(wù)器,我選 Sinatra
- 如果用 IP 訪問,需要這樣啟動:
ruby 服務(wù)器.rb -o 0.0.0.0
。 - 靜態(tài)文件(比如 css 文件)是放在
./public
目錄下的,不需要特別配置。 - 簡單的動態(tài)渲染可以用 ERB 模板,自帶的,方便。格式可參見這篇《An Introduction to ERB Templating》。
- 如果需要渲染 MarkDown 格式的文件,我選的庫是 kramdown 。如果還需要渲染數(shù)學(xué)公式,在
.md
文件里頭直接添加一行 MathJax ,搞定。
關(guān)于 Ruby
gsub()
:其實可以實現(xiàn)后向引用的,只是要用單引號。-
Range
:可以用Range
構(gòu)造數(shù)組,比如:(-5..-1).to_a #=> [-5, -4, -3, -2, -1]
(待續(xù))
MD,有服務(wù)器真好