如何打造類似數據蟲巢官網系列教程之三:架設網站

題圖

文·blogchong

本文接上一篇《如何打造類似數據蟲巢官網系列教程之二:爬蟲是怎么煉成的》,以及不清楚前情概要的可以先看這篇《如何打造類似數據蟲巢官網系列教程之一:介紹已經準備工作》

在第一篇我們介紹了整個系列的緣由背景,在第二篇,我簡單的介紹了數據源的獲取問題。

理論上我應該對整站源碼做一個比較全面的剖析,或者說明。

但是,由于上一篇我已經把整站的源碼在Github上進行了開源,而得到的最多的問題就是:我如何把網站跑起來了?

看來果真,大伙兒還是更關注結果,而不是過程,所以我也就調整一下系列的內容,這篇重點就是如何讓網站run起來。

這里先把Github上的項目源碼給出:https://github.com/blogchong/mite8-com

在此之前,為了能讓大伙兒快速把數據可視化網站部署起來,我把涉及到的展示數據的數據庫表結構,甚至是表數據都導出來了,放在了開源代碼根目錄下的SQL_DATA子目錄下,不用謝。

一、搭建網站的基本要素

首先是域名,域名是訪問站點的入口。

關于域名的購買,可以從域名商處購買,國內典型的域名商推薦阿里的萬網,或者新網,都算是這塊比較權威的存在。

域名的選擇需要注意的幾個點就是:

1 簡短好記,這個是必然的,不過大多有價值的域名都被搶注啦,所以湊合選吧。

2 符合自己網站的定位,例如做數據可視化相關的,可以以data做后綴之類的。

3 com后綴是國際通用版,cn是國內專用,net是網絡域名后綴,這三個是比較常用的,至于其他一級域名后綴,別問我俺也不知道,自己玩的話隨意啦。

一般的com域名,每年的價格在50大洋左右,每年需要續費,對于你們來說肯定是九牛一毛滴。

其次是服務器。

其實一般的網站空間都有什么PHP、ASP類型的,但是由于我們這里是自己寫的JAVA程序,所以這里推薦的就是云服務器。

我們不止需要在服務器上跑Java的網站程序,還得安裝部署MySQL,用來做網站數據的存儲。

所以,理論上來說,如果你的網站訪問量不大的話,其實要個最簡配的阿里云足夠啦。

比如,數據蟲巢網站的服務器配置就很低,1核,2GB內存,500GB的硬盤,帶寬用多少算多少,一個月下來100多大洋,比域名貴多了。

二、基本環境要求

購買服務器以及域名之后,需要會做域名解析,即將你的域名指向到你的服務器IP上,這個比較簡單,在域名相關設置中可以做DNS解析。

其次,由于域名訪問開放的80端口,所以,你需要在云服務器上,將這個端口打開,其實就是配置安全策略組,允許開放相關端口,這里即80。

云機的操作系統是CentOS6.5,所以需要你了解掌握一定的linux操作能力,此外就是對于操作系統的選擇或者部分軟件版本的選擇,建議不要使用最新版本。

因為很多新版本出現問題之后,在線上相對來說比較難找到答案,鑒于穩定性的考慮,一般我們在做系統軟件的板板選擇時,盡量避免使用最新版本,一般最新版本往下回溯幾個小版本即可。

由于我們的數據是存儲在MySQL中,所以我們需要在服務器中搭建一個MySQL。

對于MySQL的版本要求并不是很多,只要在5.6以上即可,這是為何呢?

因為5.6版本是一個分水嶺,并且具有相當大的改動,算是跨功能的大版本,很多新的相關系統框架已經不支持5.6更低的版本啦。

此外,我們的mite-com項目源碼,是使用JDK7編譯的,而Java8改動比較大,從目前的角度上說,同上,不建議輕易使用。

所以,我們需要一個JDK7的Java環境,這個不多說,MySQL的安裝以及JDK的安裝請自行百度之,估計連谷歌都用不上。

三、如何讓他跑起來

首先需要修改application.properties配置文件中數據庫連接配置。

spring.datasource.url=jdbc:mysql://localhost:3306/mite_service?useUnicode=true&characterEncoding=utf-8

spring.datasource.username=root

spring.datasource.password=XXXX

看配置的Key意思應該都能理解了,第一個就是配置數據庫的Host,端口以及數據庫名,這里由于是同一個主機,可以配置回環地址,也可以配置內網IP。

別忘了這里配置的數據庫名稱,需要你在MySQL中對應創建好,然后導入源碼中的SQL_DATA所有表以及表數據。

第二行、第三行配置的數據庫賬號密碼,略過不多說。

#JSP相關設置

spring.mvc.view.prefix=/WEB-INF/jsp/

spring.mvc.view.suffix=.jsp

這個配置項表明這個一個以jsp為前端支撐的spring boot項目,這意味著我們的前端代碼是嵌入在jsp文件中的。

這是多么古老的東西呀,雖然老,但是足夠用啦。

至于這個配置文件中的其他配置,感興趣的可以研究研究,這里就不一一介紹了。

在起來之前,需要對部分靜態資源文件進行配置,因為有部分靜態資源我使用的是外部引入的方法,沒有打入包中,所以這部分靜態資源需要額外上傳到指定目錄下。

其實目的很簡單,方便在不重新打包的情況下修改這部分靜態資源,也可以使jar包更小點。

這部分靜態資源我已經上傳到根目錄下的myres文件夾下拉。

具體在服務器中,需要上傳到哪個位置,看com.mite8.config路徑下的MyWebAppConfigurer配置類。

registry.addResourceHandler("/myres/**").addResourceLocations("file:/data/application/mite/myres/");

你可以放在file:/data/application/mite/myres/這里,也可以重新修改定義。

把源碼myres的type子文件夾,上傳到服務器如上路徑下,jar包就可以動態的進行外部加載啦。

在打包上傳到服務器之前,先在本地跑一下,看看是否能夠跑起來。

在com.mite8路徑下,有個Application類,有個main方法。

是的,這就是整個項目的啟動類,玩過java的人是不是感覺很熟悉,這TM的就是一個普通Java進程啊。

沒錯,我之所以推薦使用spring boot就是因為他足夠輕量級,沒有傳統MVC框架那般繁瑣,需要各種復雜的適配,也不用tomcat之類的鬼東西。

一個主函數直接起來,整個網站就跑起來了。

如果你的程序在本地都能正常跑起來,那么意味著整個代碼就沒什么很大問題了,打包上傳到服務器跟普通的java程序跑起來就可以了。

如果你安裝了Git Bash,直接使用命令mvn package進行打包就OK了。

如果沒有,如果你使用的是IDEA,直接在file下的project structrue項中新增一個Artfacts項,把依賴包都包含進去,然后編譯打個jar包出來也行。

最后,把jar包上傳到你的服務器,直接按正常的java進程那般起來就OK啦。

例如我的jar包位置是在/data/application/mite下,我就通過下面命令進行執行:

nohup java -jar -Xmx824m -Xms824m /data/application/mite/mite-bigdata-jsp-1.0-SNAPSHOT.jar 2>&1 &

簡單解釋一下,nohup模式可以讓你的進程在終端關閉的情況下依然堅挺的執行下去。

至于Java的Xmx以及Xms分別是JVM的最大可用內存,以及初始化內存,一般設置為一樣的,避免每次垃圾回收后JVM重新分配內存,具體的JVM調優以及設置,自行百度谷歌。

再后面的2>&1命令,挺有意思的,我特喜歡用這個考面試者對于linux底層的熟悉情況,其實就是把stand error

指向到stand out,即錯誤輸出到正常輸出的地址中,這樣我們就能在日志中捕獲到程序的異常啦。

最后的&符號,后臺執行,這個不多說。

基本上按照上面的流程,此時,通過訪問你的域名,就能看到跟數據蟲巢官網一模一樣的東西啦(當然是一樣的了,你啥都沒改,連數據都使用俺的,能不一樣么)。

到這里,估計你(數據蟲巢)的網站又再次上線了,如果你這樣就滿足了,好吧,你可以打住了。

我們的故事還沒有完結,在下一篇里,我會告訴整個代碼邏輯怎么去架構的,寫了四五年底層代碼沒有一點前端基礎的蟲巢君俺是如何把一個如此“高端大氣”的前端界面給寫出來的(難道你就不好奇),數據圖表是怎么樣實現變來變去的,頂端好玩的特效是如何做出來的。

是的,俺蟲巢君不止是個爬蟲工程師,還是數據分析師,還是linux運維工程師,還是后端開發工程師,還是懂數據可視化的前端工程師,還是UI設計師(如果PS網站圖片以及做LOGO算的話),簡直無敵了是吧~~

整個mite-com源碼,除了那幾個css以及js文件,所有代碼都是俺蟲巢君一個人擼出來的,包括各種png資源文件,都是我用PS一個個P出來的。

看到這里,別忘了去我的Github上點個star,哈哈。


相關擴展閱讀:

《如何打造類似數據蟲巢官網系列教程之二:爬蟲是怎么煉成的》

《如何打造類似數據蟲巢官網系列教程之一:介紹已經準備工作》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容