1. 程式人生 > >tomcat + 花生殼

tomcat + 花生殼

前緒:為什麼要搭建伺服器?

一個APP完成後,總會有各種功能新增、bug修復。這時候,我們的app屬於另一個版本了。那麼客戶端要如何去更新呢?我們要把App放在哪裡呢?或許你會說,直接把apk放在伺服器上啊!是啊,你說的沒錯。但是小編是個窮逼啊!小編也知道現在有各種雲,阿里雲,百度雲……so on。然並卵—沒錢!!!那怎麼辦?自己動手唄,小編教你怎麼在自己的電腦上搭建一個伺服器!!!

工具:ApacheTomcat + 花生殼

一:Tomcat安裝

文章末尾會提供兩個連結,大家可以從哪裡看 JDK的安裝,環境變數配置或JDK安裝成功後的檢測。

  1. 從 Oracle 官網下載 JDK(JDK的版本小編的是1.8版本,不懂怎麼安裝自己百度下)。因為tomcat是執行在Java VM之上的,故需要預裝JDK.
  2. JDK安裝完成後, 檢視自己的JDK安裝是否成功(不懂百度下).
  3. 下載TomCat。這裡只介紹免安裝版的Tomcat,至於安裝版的實在沒啥好說的,那個不停點下一步就行了。小編安裝的是6.0版本,其他版本大同小異,新版的往往不穩定bug很多。現在6.0應仍佔大多數。網上很多教程幾乎是6.0之前的。登入官網http://tomcat.apache.org/,左邊找到Download,目最新版是Tomcat9。

  4. 開啟後根據自己電腦作業系統下載相應的Tomcat版本。(我的電腦是64位windows系統,所以下載64位的)

  5. 下載好壓縮包後,直接解壓至某一目錄下,目錄中不能包含中文,安裝JDK的時候也是。解壓後如下所示:

  6. 將此資料夾拷貝到你常用的根目錄下,我這裡以E盤為例。這樣就算安裝好了!接下來開始配置環境變數,開啟環境變數(不知道怎麼開啟的,自己百度下)。

    然後新建三個系統變數:

    TOMCAT_HOME=E:\tomcat-6.0.48

    CATALINA_HOME=E:\tomcat-6.0.48

    CATALINA_BASE=E:\tomcat-6.0.48

  7. 繼續環境變數的配置。
    給Classpath變數新增:%TOMCAT_HOME%\lib\servlet-api.jar。給PAth變數新增:%CATALINA_HOME%\bin

    ( 注意:一般這兩個變數都會有很多引數,我們在這些引數前、後新增都可以,但是要注意,環境變數之間要有分號隔開。)

  8. 至此,配置工作完成!開啟Tomcat目錄\bin\startup.bat,雙擊startup.bat。它會自動開啟如下控制檯介面。

控制檯如下圖所示:

9、不要關閉控制檯介面,開啟瀏覽器入http://localhost:8080。出現Tomcat的網頁,證明安裝並配置成功!最後關閉控制檯,關閉控制檯即關閉Tomcat服務

10、 靜態部署自己的資料。

Tomcat的Webapps目錄是Tomcat預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。

進入你的tomcat目錄\webapps,新建一個自己的資料夾如mydata,在此可以存放自己的資料。 例如:我拷貝test.json和boy.png兩個檔案在此目錄下,以後你的apk也是 放在這裡了。

11、測試伺服器是否搭建成功。可從電腦瀏覽器訪問到myata目錄下的test.json和boy.png檔案。瀏覽器中輸入http://localhost:8080/mydata/test.json。訪問其他的也是相似操作。

到此,一個屬於你的 Tomcat伺服器已經搭建成功了!! 但是,目前為止,這個伺服器,還只限於你自己的電腦才可以訪問。

二、 搭建花生殼

2、安裝,執行。首先啟動Tomcat,確保其成功執行。進入花生殼登入介面,新使用者請先註冊賬號,具體按提示步驟來,這裡略過。

3、申請好賬號後,花生殼會給我們一個免費的域名。輸入賬號密碼登入

4、登入成功,會顯示我們當前的域名:

5、在Windows的cmd.exe中輸入cmd命令,並在彈出的視窗中輸入ipconfig命令,檢視你的IP地址。

6、切換到花生殼介面。選中域名,右鍵”花生殼管理”-新增對映,將紅框中的東西填好。應用名稱隨意,內網主機填剛才記下的你的電腦的IPv4地址。(或直接選擇當前主機,更快捷)

7、點選確定以後,花生殼會為我們生成一個外網可以訪問的域名。(其實域名是不要錢,但是對映這一功能還是要 收6塊錢 的認證費…)

8、花生殼連結診斷

9、點選自診斷,成功連結到花生殼的伺服器,這樣它就會幫我們把IP和域名進行映射了!!

10、測試。通過外網訪問剛才搭建Tomcat測試時的兩個檔案:test.json和boy.png。
位置在—你的tomcat目錄\webapps\mydata目錄下。

*在瀏覽器中輸入: http://自己的外網訪問地址/mydata/test.json,就可以通過外網訪問自己電腦中的資料。

在瀏覽器中輸入(或者手機上輸入): http://自己的外網訪問地址/mydata/boy.png,就可通過外網訪問到了。

至此,Tomcat+花生殼2正式版搭建一個外網可以訪問的伺服器,成功!

題外話:

  1. 為什麼寫這個部落格?因為在搭建伺服器的時候,在網上搜索了好多資料,發現按照他們的步驟做,做不出來。後來只能一點一點的去去網上查資料,驗證,對比。分析都是做什麼用的。特別是網上各種版本都有,看的頭都炸了。

  2. 很多人說花生殼的域名是免費的,域名確實是免費,但是在搞 對映的哪裡,要收6塊錢的認證費。讓小編想起了:天下間沒有免費的午餐啊。

  3. 有些部落格會提到要設定路由器的動態DNS,這個應該是花生殼之前的版本不支援 內網穿透。所謂內網就是,你的IP是通過路由器分發的,都是內網。如果不明白,可以在百度搜索“IP”,第一條就是外網IP。然後再ipconfig查詢一下自己的IP地址,如果兩個地址一樣,那你的就是外網,如果是192.168.. 的。那你的就是內網。
    不過現在不用管它什麼內網和外網了,經小編反覆測試。我們是不需要是設定路由器的動態DNS的。特別有些部落格還提到要設定什麼8080改為80埠什麼的。其實這些都不用的。

  4. 好了,到了這裡。可能你會說,咦!你這個是瀏覽器訪問啊,我手機app去哪裡獲取APP檢查版本資料???小編當時也是一臉懵逼。特別有很多部落格裡面說,做伺服器要自己做POST和GET 程式(也就是收發資料,結果證明,我被他們帶進坑了)。於是,小編又去百度了了半天。結果,還是一臉懵逼。小編想,難道Tomcat不能POST和GET 資料的?也就是用Android 的 HttpURLConntion 發起網路連線的請求,Tomcat會不會響應,並返回資料呢?還是說像那些部落格提到的,要給Tomcat部署一個WEB程式?(這個WEB程式能夠POST和GET方法)。好在小編想起郭霖的《第一行程式碼中》,用Apache做本地伺服器的例子。抱著試一試的心態,用自己的APP去試了一下,耶!!!人家Tomcat是會響應和返回資料的。根本就不要自己部署什麼WEB程式。我了個擦!發現白糾結了白天啊!!

  5. 最後,果斷把一個包含版本號的JSON檔案和apk扔到tomcat 。\webapps\mydata目錄下。哈哈,app自動去更新下載apk了。哈哈!終於有自己的伺服器了!!不過怎麼向伺服器POST資料,Tomcat會不會收到資料,並寫入對應的檔案,小編還沒去搞。今天就寫那麼多了。
    總結:

總結一下:花生殼和Tomcat的作用吧!

  1. Tomcat其實就是:電腦執行Tomcat這個程式,Tomcat去載入webapps目錄下的資源,外部網路訪問的是Tomcat載入的資源。簡而言之,Tomcat把你的電腦變成了伺服器,確切的說Tomcat是系統裡的一個程序,它提供了服務。

  2. 花生殼作用就是:進行 域名和IP地址的一個對映。其流程應該是: 花生殼軟體啟動—–把你的IP傳送到花生殼伺服器—–IP與域名對映—–外部訪問域名—–訪問你的伺服器(也就是你電腦的Tomcat)


  3. 本文大量借鑑以下連結中的內容和圖片,敬請諒解: