朋友扔給我一個(gè)破舊的虛擬主機(jī)賬號(hào),說(shuō)想裝個(gè)程序測(cè)試點(diǎn)東西。登錄控制臺(tái)一看,好家伙,這界面比我爺爺?shù)氖找魴C(jī)還古老。面板選項(xiàng)就幾個(gè)按鈕,上傳文件都費(fèi)勁,別說(shuō)裝Linux程序了。后臺(tái)的ssh權(quán)限倒是給了,可那環(huán)境干凈得像被狗舔過(guò),毛都沒(méi)有。
第一步:硬著頭皮手動(dòng)搞
轉(zhuǎn)機(jī)出現(xiàn)在半夜兩點(diǎn)
叼著牙刷翻國(guó)外論壇,看到有人提獨(dú)立安裝腳本這詞兒。原理很簡(jiǎn)單:把程序連帶依賴(lài)全打包成壓縮包,上傳到虛擬主機(jī)解壓就能跑。立馬翻出吃灰的筆記本試水:
1. 測(cè)試時(shí)貪方便用公共腳本,結(jié)果啟動(dòng)腳本里藏了挖礦代碼!服務(wù)器風(fēng)扇狂轉(zhuǎn)像要起飛。后來(lái)學(xué)乖了,自己用vim重寫(xiě)啟動(dòng)文件:
#!/bin/bash export PATH=./bin:$PATH
./bin/nginx -c ./conf/*
2. 虛擬主機(jī)內(nèi)存摳門(mén),mysql跑起來(lái)直接OOM崩掉。改成輕量級(jí)的sqlite3,數(shù)據(jù)文件直接放程序目錄,讀寫(xiě)居然比本地還快。
3. 最陰險(xiǎn)的是文件權(quán)限。上傳的腳本默認(rèn)沒(méi)執(zhí)行權(quán)限,得先chmod +x start-xxx,不然永遠(yuǎn)報(bào)Permission denied。
上周靠這法子給朋友部署了三個(gè)程序。他盯著控制臺(tái)里跑起來(lái)的服務(wù)直呼內(nèi)行,根本不知道我凌晨四點(diǎn)還在改啟動(dòng)腳本里的路徑錯(cuò)誤。虛擬主機(jī)商要是知道我在他們鎖死的環(huán)境里這么玩,怕是要?dú)獾桨尉W(wǎng)線。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。