我自己搭伺服器的偏好是 CentOS,每次開新服都要執行一遍環境配置,步驟繁多難免遺漏,總是發現缺東西了再去安裝。備個忘,再不煩惱。
本文介紹的元件包括:git
, nginx
, nodejs
, fishshell
,環境是 DigitalOcean 的 CentOS 7 映象(6就不管了,初建伺服器你還不用最新版是何居心?)。
小安利下,我的DigitalOcean 推薦連結,註冊即得10美元(推薦雙方都有),開服愉快!
CentOS 新伺服器
首先安裝 epel-release,各種軟體包都依賴於這個軟體源
$ yum update -y
$ yum install -y epel-release
$ yum install -y git
一點安全措施
-
啟用 SSH 金鑰登陸。編輯
~/.ssh/authorized_keys
,新增自己的公鑰進去。 -
禁用密碼登陸。編輯
/etc/ssh/sshd_config
,啟用以下幾行:
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
然後重啟 sshd 服務:
$ service sshd reload
https://www.liberiangeek.net/2014/07/enable-ssh-key-logon-disable-password-password-less-logon-centos/
http://serverfault.com/questions/285800/how-to-disable-ssh-login-with-password-for-some-users
http://askubuntu.com/questions/387892/how-to-deny-root-ssh-login-require-ssh-key-for-user
nginx 啟動!
$ yum install nginx -y
http://www.rackspace.com/knowledge_center/article/centos-adding-an-nginx-init-script
Node 和它的朋友們
$ yum install nodejs -y
$ curl https://www.npmjs.com/install.sh | sh
$ npm install -g n pm2
最後,需要在 ghost 的 nginx 配置中新增一行 client_max_body_size 10G;
像這樣:
server {
listen 80;
server_name ~b(log)*.amio.us$;
client_max_body_size 256M;
# ...
}
Oh-my-fish!
下面是一些個人喜好,裝個 fish shell。
$ yum install yum-utils
$ yum-config-manager --add-repo http://fishshell.com/files/linux/RedHat_RHEL-6/fish.release:2.repo
# CentOS 7 用這個地址:
# http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
$ yum install fish -y
# 把預設 shell 改為 fish
$ chsh -s /usr/bin/fish
如果 fish 報告錯誤:
fish: Tried to print invalid wide character string
則編輯此檔案:
$ vim /etc/sysconfig/i18n
# 把其中的 LANG=C 改為 LANG=en_GB.UTF-8
http://serverfault.com/questions/275403/how-do-i-change-my-locale-to-utf-8-in-centos