今天項(xiàng)目上線磁滚。從打包到部署一步到位育韩。上一個(gè)文章吐槽了打包的種種。這個(gè)文章主要是linux下部署功偿。
ecs服務(wù)器一般都是linux系統(tǒng)不用多說(shuō)了盆佣。平時(shí)都是windows的我還是覺(jué)得挺新鮮往堡。好多命令都要現(xiàn)去百度查詢。在這做個(gè)匯總共耍。
首先從最基本開(kāi)始講解(都是我用到的才會(huì)在此說(shuō)出虑灰。可能不全):
輸入賬號(hào)密碼就不說(shuō)了痹兜。我這里是用xshell連接的穆咐。
?注意:linux命令要小寫(xiě)哦!
1字旭,Linux運(yùn)行jar包:
????1.1对湃,java -jar xx.jar --server.port=自定義。
? ? 因?yàn)榇蚝玫陌诳刂婆_(tái)運(yùn)行如果不指定都會(huì)用tomcat默認(rèn)的端口(8080/9000)遗淳。這樣就很容易被占用或者多個(gè)服務(wù)肯定是起不來(lái)拍柒。所以要指定端口號(hào)。
????1.2屈暗,java?-jar xxxxx.jar??
?當(dāng)前ssh窗口被鎖定拆讯,可按CTRL + C打斷程序運(yùn)行,或直接關(guān)閉窗口养叛,程序退出
????1.3种呐、java?-jar xxxxx.jar?&? ?
當(dāng)前ssh窗口不被鎖定,但是當(dāng)窗口關(guān)閉時(shí)弃甥,程序中止運(yùn)行爽室。
????1.4、nohup?Java?-jar xxxxxx.jar?&??
意思是不掛斷運(yùn)行命令,當(dāng)賬戶退出或終端關(guān)閉時(shí),程序仍然運(yùn)行(這個(gè)是需要權(quán)限的淆攻。不見(jiàn)得能一次調(diào)通)
2阔墩,查看端口:
? ? 2.1,netstat ?-anp ?|grep ? 端口號(hào)(例如:netstat ?-anp ?|grep? ?3306)
監(jiān)控狀態(tài)為L(zhǎng)ISTEN表示已經(jīng)被占用瓶珊。
????2.2戈擒,netstat ? -nultp(此處不用加端口號(hào))
該命令是查看當(dāng)前所有已經(jīng)使用的端口情況。
? ? 2.3艰毒,netstat -tln
查找被占用的端口(和上面netstat ? -nultp的區(qū)別是這個(gè)不顯示占用端口的 PID和Program name ).
? ? 2.4,netstat -tln | grep 端口號(hào)
查找某端口的狀態(tài)(同理搜囱,和上面netstat ? -nultp?|grep ? 端口號(hào) 的區(qū)別是這個(gè)不顯示占用端口的?PID和Program name?)
3丑瞧,關(guān)于Linux中文件的編輯和退出(我本來(lái)只是想改個(gè)redis密碼,結(jié)果被忽悠到這里來(lái)了蜀肘。各種坑了好久 ):
? ? 在linux中绊汹,vim編輯器是系統(tǒng)自帶的文本編輯器。我就是進(jìn)入VIM編輯器后扮宠,無(wú)法退出以致強(qiáng)抽關(guān)機(jī)兩次才痛定思痛西乖。要學(xué)會(huì)處理狐榔。
????3.1,進(jìn)入VIM編輯器(可是是新建也可以是修改)命令為:vim? /usr/local/redis.conf
?如果這個(gè)文件获雕,以前是沒(méi)有的薄腻,則為新建,則下方有提示為新文件;如果文件已存在届案,則沒(méi)有提示庵楷。進(jìn)入編輯器后,我們按大寫(xiě)的”I(i)“楣颠,即切換到“插入”狀態(tài)尽纽。就可以通過(guò)上下左右移動(dòng)光標(biāo),或空格童漩、退格及回車等進(jìn)行編輯內(nèi)容了弄贿,和WINDOWS是一樣的了。
? ? 3.2矫膨,退出編輯器又分為4種情況:保存退出差凹、正常退出、不保存退出及強(qiáng)制退出豆拨。
? ? ? ? 1)保存退出:按鍵盤(pán)左上角的"ESC"直奋,直接按shift+zz,或者切換到大寫(xiě)模式按ZZ施禾,就可以保存退出脚线。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 或者在最后輸入命令時(shí),直接輸入"x"弥搞,也是一樣的邮绿,即X=WQ(這個(gè)我沒(méi)試過(guò)。不過(guò)好多地方說(shuō)這么做也可以)攀例。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 或者按鍵盤(pán)左上角的"ESC"船逮,再輸入“冒號(hào)”,即":"(不需雙引號(hào))粤铭,再輸入WQ挖胃,再回車,就保存退出了(也沒(méi)試過(guò))梆惯。
? ? ? ? 2)正常退出:正常退出有個(gè)前提條件是:打開(kāi)的文本文件在內(nèi)容上沒(méi)有被改動(dòng)過(guò)酱鸭。按了ESC后再輸入冒號(hào),在輸入命令時(shí)垛吗,直接輸入"q"凹髓。
? ? ? ? 3)不保存退出:修改了一些地方,但是不想要改動(dòng)怯屉,這時(shí)候就非常需要不保存退出了蔚舀。先按ESC饵沧,再輸入冒號(hào),在輸入命令時(shí)赌躺,直接輸入"q!"狼牺。
? ? ? ? 4)強(qiáng)制退出:我所查找到的資料上說(shuō)這個(gè)是不應(yīng)該做的操作,因?yàn)楹懿俚笆偾矗〉俏冶救耸菦](méi)操作過(guò)的锁右。這里也記錄一下吧。萬(wàn)一以后用到了呢讶泰。先按ESC咏瑟,再按冒號(hào),在輸入命令時(shí)痪署,直接輸入"!"码泞。據(jù)說(shuō)這個(gè)退出后會(huì)有提示。我沒(méi)實(shí)操所以就不多說(shuō)了狼犯。
4余寥,查看進(jìn)程和關(guān)閉進(jìn)程:
今天又遇到一個(gè)賊尷尬的問(wèn)題。劈里啪啦運(yùn)行了好幾個(gè)jar包悯森。然后控制臺(tái)開(kāi)始刷錯(cuò)誤宋舷。半分鐘一刷的那種。所以最后手忙腳亂中用出了絕招:關(guān)機(jī)瓢姻。對(duì)的祝蝠。我把xshell重啟了。但是覺(jué)得只要有問(wèn)題肯定就有解決辦法幻碱∫锵粒總不能一直關(guān)機(jī)重啟吧,又不是網(wǎng)管(這里沒(méi)任何歧視褥傍,只不過(guò)有個(gè)梗說(shuō)網(wǎng)管量大絕招:重啟儡嘶,換機(jī)器)。于是又在實(shí)測(cè)中找到了解決辦法恍风,那就是查看進(jìn)程和殺死進(jìn)程蹦狂。
????4.1,ps aux|grep 啟動(dòng)的jar包名 (例如我的朋贬,ps aux | grep? eureka.jar)
這個(gè)命令將會(huì)看到此jar的進(jìn)程信息鸥咖。注意這里實(shí)測(cè)有個(gè)結(jié)論:如果你的jar正在運(yùn)行中,控制臺(tái)會(huì)打印出兩個(gè)數(shù)據(jù)兄世。如果只打印出一條數(shù)據(jù)則說(shuō)明你這個(gè)jar沒(méi)在運(yùn)行。
然后根據(jù)你打印出來(lái)的數(shù)據(jù)可以找到運(yùn)行這個(gè)jar的pid啊研。因?yàn)檫@個(gè)有點(diǎn)小坑所以我截圖說(shuō)明一下哪個(gè)是我們所需要的pid:
這里要注意御滩,我們要找的是java -jar那行的 第一個(gè)數(shù):我這里就是13487鸥拧。因?yàn)槲抑霸诎俣壬险业降囊彩沁@兩行數(shù)據(jù),但是順序是相反的削解。人家的是第二行才是pid的所在富弦。這個(gè)也小小的坑了我一下。附上我看的網(wǎng)頁(yè)的連接氛驮,如果大家的和我的不一樣可以參考那個(gè)前輩的做法:
? ? 4.2腕柜,kill?-9?pid? 殺掉運(yùn)行中的程序(pid是想殺掉程序的pid。我這里是13487)
5矫废,腳本的編寫(xiě):
這里說(shuō)一下編寫(xiě)腳本的規(guī)定吧盏缤。規(guī)定就是約定俗成的東西。不是說(shuō)你不照著做就會(huì)報(bào)錯(cuò)或怎么樣蓖扑。但是是為了以后的維護(hù)發(fā)展和利人利己唉铜。
? ? 規(guī)定一:凡是自定義的腳本建議放到/usr/local/sbin/目錄下,這樣做的目的是律杠,一來(lái)可以更好的管理文檔潭流;二來(lái)以后接管你的管理員都知道自定義腳本放在哪里,方便維護(hù)柜去。
? ? 規(guī)定二:Shell腳本通常都是以.sh?為后綴名的灰嫉,這個(gè)并不是說(shuō)不帶.sh這個(gè)腳本就不能執(zhí)行,只是大家的一個(gè)習(xí)慣而已嗓奢。所以讼撒,以后你發(fā)現(xiàn)了.sh為后綴的文件那么它一定會(huì)是一個(gè)shell腳本了。
具體腳本編寫(xiě)的步驟:
? ? 5.1蔓罚,創(chuàng)建:新建一個(gè).sh文件椿肩,touch serstart.sh
? ? 5.2,(這里有個(gè)命令靠參考~~~)chmod -R 777 * ?表示對(duì)當(dāng)前目錄及目錄下所有的文件賦予可讀可寫(xiě)可執(zhí)行權(quán)限豺谈。因?yàn)槲覟榱舜蛴″e(cuò)誤日志所以加上這個(gè)了郑象。根據(jù)具體需求你們可以參考要不要加。
? ? 5.3茬末,編輯剛剛創(chuàng)建的腳本文件厂榛,例如:vi serstart.sh
? ? 5.4,然后就是在腳本文件中寫(xiě)指令了~~~順便附上我寫(xiě)的腳本丽惭,以供參考击奶。(如果在編寫(xiě)上有問(wèn)題可以找我上面的vim編寫(xiě))
目前為止,服務(wù)器上的程序已經(jīng)跑通责掏。所以這個(gè)紀(jì)念或者教育或者學(xué)習(xí)的帖子也就到這里了柜砾。中間大大小小的坑沒(méi)少遇到。在此特別感謝好多朋友給了我賊多的幫助~~~就不點(diǎn)名了换衬。也希望萌新們看了這個(gè)貼子能有點(diǎn)幫助痰驱。薪火相傳嘛~~然后日后有什么補(bǔ)充我會(huì)繼續(xù)編輯的证芭。
再說(shuō)個(gè)題外話。有個(gè)朋友很理解不了我堅(jiān)持寫(xiě)貼子這件事担映,覺(jué)得我寫(xiě)的很小白而且沒(méi)啥用废士。其實(shí)我想說(shuō)一方面我用最通俗墨跡的言語(yǔ)表達(dá)了一個(gè)知識(shí)或者技能,一百個(gè)人看99個(gè)覺(jué)得墨跡但是對(duì)一個(gè)人有幫助這就值得蝇完。另外我個(gè)人一直有記錄的習(xí)慣官硝。比較好記性不如爛筆頭。只不過(guò)以前我習(xí)慣于用筆記在筆記本上短蜕。但是前一段時(shí)間因?yàn)楣ぷ魉阅切┕P記本都留在了家里∏饧埽現(xiàn)在有的用得到的知識(shí)點(diǎn)或者喜歡的思維模式什么的,要么重新整理要么憑感覺(jué)來(lái)忿危。其實(shí)這樣挺不好的达箍。遺憾。但是現(xiàn)實(shí)又是就這樣铺厨,千里路途我做不到背著幾十斤的書(shū)和筆記缎玫。所以我覺(jué)得把知識(shí)和過(guò)程寫(xiě)在網(wǎng)上,方便了別人也方便了自己解滓。我很喜歡這個(gè)信息爆炸的時(shí)代.
哎赃磨,好了,雞湯就到這里了洼裤。
全文手打~~這么不容易的寫(xiě)個(gè)文~~如果你覺(jué)得用到了~留個(gè)言點(diǎn)個(gè)贊轉(zhuǎn)個(gè)發(fā)什么的啊~