我用的MAC,終端是iTerm2,從本地鏈接到服務(wù)器的最終效果圖如下

ssh_godi13是我在.zshrc里設(shè)置的alias,實(shí)際指令是ssh -p PORT root@IP
好,現(xiàn)在就從購(gòu)買(mǎi)開(kāi)始講起(購(gòu)買(mǎi)的步驟可能會(huì)跟我的略有差異,有可能因?yàn)榘⒗镉指铝薝I)
購(gòu)買(mǎi)阿里云
登錄阿里云,注冊(cè)一個(gè)帳號(hào),進(jìn)入控制臺(tái)(如已登錄進(jìn)去可忽略)

如出現(xiàn)該頁(yè)面選擇一個(gè)對(duì)應(yīng)的然后點(diǎn)確定

選擇云服務(wù)器ECS,點(diǎn)擊那個(gè)小購(gòu)物車(chē)進(jìn)入購(gòu)買(mǎi)頁(yè)面

我選擇的參數(shù)如下

我都選的最低配置

按量的相對(duì)便宜,帶寬也高,我沒(méi)什么訪問(wèn)量所以選的這個(gè)

感覺(jué)一次買(mǎi)3年的比較合適,我買(mǎi)的時(shí)候是3年800,而且當(dāng)時(shí)有用100的?優(yōu)惠卷,現(xiàn)在不知道多少錢(qián)了,不過(guò)阿里經(jīng)常搞活動(dòng),買(mǎi)之前可以留意一下

最后別忘了設(shè)置一個(gè)登錄密碼

最后支付完成,購(gòu)買(mǎi)服務(wù)器的部分就到這里,接下來(lái)去整一個(gè)域名
購(gòu)買(mǎi)域名與設(shè)置DNS解析
進(jìn)入阿里萬(wàn)網(wǎng)選擇一個(gè)自己喜歡的域名購(gòu)買(mǎi),購(gòu)買(mǎi)完域名不要忘了去備案,在阿里云控制面板的這個(gè)位置有

我當(dāng)時(shí)是需要用阿里指定的背景照個(gè)半身像跟身份證正反面發(fā)過(guò)去即可,現(xiàn)在不知道是不是這樣了,有可能需要去當(dāng)?shù)刂付ǖ攸c(diǎn)拍照
點(diǎn)擊運(yùn)行中進(jìn)入查看所購(gòu)買(mǎi)的實(shí)例

將IP地址記錄下來(lái),一會(huì)需要用到

點(diǎn)擊云解析,然后點(diǎn)擊剛才購(gòu)買(mǎi)的域名進(jìn)入DNS解析頁(yè)面

如圖添加主機(jī)記錄www與剛才記錄的IP地址,還可以添加個(gè)test主機(jī)記錄的,一會(huì)測(cè)試用

接下來(lái)該去登錄服務(wù)器配置一下了
服務(wù)器
服務(wù)器免密登錄
我是Mac用戶(hù),為了以后每次登錄服務(wù)器不需要輸入密碼,我們需要使用ssh協(xié)議來(lái)登錄
首先在客戶(hù)端終端輸入ssh-keygen,一路回車(chē)即可。然后你會(huì)發(fā)現(xiàn)在用戶(hù)跟目錄下多了.ssh目錄,進(jìn)去看一下cd ~/.ssh,里面有這3個(gè)文件

把id_rsa.pub里的內(nèi)容,手動(dòng)復(fù)制到服務(wù)器的~/.ssh/authorized_keys中去即可
# 登錄服務(wù)器
ssh root@服務(wù)器的IP地址
還有一種方法是使用ssh-copy-id root@IP命令,Mac用戶(hù)可能需要用brew安裝一下ssh-copy-id,ubuntu用戶(hù)應(yīng)該是自帶的這個(gè)命令,實(shí)現(xiàn)的效果與上面的一樣,更多ssh使用方法請(qǐng)參考介紹 ssh 的日常使用
完成以后,再登錄服務(wù)器就不需要輸入密碼了,接下來(lái)我們進(jìn)行一下簡(jiǎn)單的安全配置,你也可以忽略這些步驟
簡(jiǎn)單的安全配置
修改默認(rèn)端口號(hào),取消密碼登錄
登錄到服務(wù)器以后,vim /etc/ssh/sshd_config修改一下ssh的配合
Port 22 //默認(rèn)是22,修改為自定義端口號(hào)
...
...
...
PasswordAuthentication no // 一般在最后一行,改為 no,不允許密碼登錄
service ssh restart 重啟生效
<div class="tip">如果發(fā)生手殘?jiān)诜?wù)器端刪除了.ssh文件或者類(lèi)似的情況,可以到阿里云上使用遠(yuǎn)程管理來(lái)拯救。遠(yuǎn)程登錄后,把PasswordAuthentication值改回yes即可密碼登錄

配置防火墻
-
ufw enable開(kāi)啟防火墻 -
ufw default deny禁止所有端口訪問(wèn) -
ufw allow 80/tcp允許80端口tcp協(xié)議鏈接 -
ufw allow 443/tcp443 https ufw allow 修改的sshd_config的Port的端口號(hào)/tcp-
ufw status查看防火墻狀態(tài) -
ufw reload重啟防火墻
Nginx
安裝 nginx
apt-get updateapt-get install nginx-
service nginx status查看狀態(tài) - 如果成功,瀏覽器中輸入IP即可顯示nginx默認(rèn)頁(yè)面
配置 nginx
- nginx默認(rèn)會(huì)把
/etc/nginx/conf.d目錄下的配置全部引入,下圖是nginx.conf里默認(rèn)配置

-
cd /etc/nginx/conf.d,創(chuàng)建自己起個(gè)名字.conf,輸入以下內(nèi)容
server {
listen 80;
server_name www.域名.com;
# server_name *.域名.com;
# server_name www.域名.com test.域名.com;
location / {
# 路徑自己定,不過(guò)不能放到/root目錄下
root /usr/local/src;
index index.html index.htm;
}
}
-
/etc/init.d/nginx restart重啟nginx - 在
/usr/local/src創(chuàng)建一個(gè)index.html - 輸入域名登錄,如果成功則顯示
index.html里面的內(nèi)容
你要可以在/etc/nginx/conf.d目錄下,多寫(xiě)幾個(gè)不同的配置,分開(kāi)管理二級(jí)域名
一些好的工具
為了統(tǒng)一客戶(hù)端與服務(wù)端的操作習(xí)慣,我在服務(wù)器端也安裝了oh-my-zsh和z,并把界面調(diào)整一致,想把服務(wù)器玩的更6的可以安裝tmux,這里我沒(méi)有安裝就先不講了
zsh
如何安裝可以參考Ubuntu 下安裝oh-my-zsh,我記得阿里云的ubuntu里好像默認(rèn)有zsh
我皮膚用的也是oh-my-zsh里的agnoster主題,如果想把user@hostname信息隱藏跟客戶(hù)端的設(shè)施略有不同。客戶(hù)端想隱藏只需要在~/.zshrc文件中添加即可
DEFAULT_USER=`whoami`
但服務(wù)器默認(rèn)是root用戶(hù),此法不通,需要在cd ~/.oh-my-zsh/themes/agnoster.zsh-theme里把最下面的context注釋掉即可
...
## Main prompt
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
# prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_end
}
z
z是類(lèi)似autojump的文件跳轉(zhuǎn)工具,會(huì)記錄你的目錄習(xí)慣,就像我開(kāi)篇貼的那個(gè)圖一樣,只需要輸入z conf,就直接跳轉(zhuǎn)到我常去的nginx配置目錄了,非常方便
- 首先需要安裝git,
apt-get install git - 我是在
/usr/share/目錄下,git clone --depth=1 https://github.com/rupa/z,你有可以在其它目錄安裝,但是要記住路徑 -
vim ~/.zshrc,添加. /usr/share/z/z.sh source ~/.zshrc
結(jié)語(yǔ)
至此所有的服務(wù)器相關(guān)的初始設(shè)置都已完成,希望本文對(duì)大家有所幫助,哪里有錯(cuò)誤請(qǐng)告訴我,好及時(shí)修改以免誤導(dǎo)他人,謝謝