1. 程式人生 > >Android程式設計師搭建一個屬於自己的伺服器

Android程式設計師搭建一個屬於自己的伺服器

前言

最近在跟小夥伴合作開發一款app,苦於沒有合適的公共api介面,所以決定自己搭建一個伺服器,目前已實現註冊、登入,爬蟲定時拉取閒魚首頁更新資料庫。

搭建伺服器需要些什麼工作

本文所介紹的伺服器都是入門級別的,適合移動端同學自己搭建玩玩,還沒有達到商業開發水平,大牛請莫見怪。

我們搭建伺服器主要有以下幾個步驟:

  • 1.搭建開發環境,Intellig + spring-boot + mybatis
  • 2.搭建資料庫,mysql + navicat
  • 3.搭建執行環境,tomcat + 阿里雲

一、搭建開發環境

本文安裝環境是基於Windows的,Linux和Mac環境也都大同小異,我就不一一介紹了,如果有問題,可以在github上留言 

github.com/foxleezh/

1.1 Intellig安裝

作為Android開發,基本都習慣使用Android Studio,而Intellig跟它幾乎是一模一樣,因為Android Studio正是基於它開發的,所以它是Android程式設計師開發伺服器最好的選擇。

  • 下載破解檔案 JetbrainsCrack-2.6.9-release-enc.jar ,idea.lanyus.com/jar/Jetbrai…
  • 將破解檔案拷貝到Intellig安裝目錄下的bin檔案下
  • 修改idea64.exe.vmoptions檔案,在下面新增一行程式碼,注意修改目錄,改為你Intellig的安裝目錄
    -Xms128m
    -Xmx750m
    -XX:ReservedCodeCacheSize=240m
    -XX:+UseConcMarkSweepGC
    -XX:SoftRefLRUPolicyMSPerMB=50
    -ea
    -Dsun.io.useCanonCaches=false
    -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -javaagent:D:\Program Files (x86)\IntelliJ IDEA 2017.2.4\bin\JetbrainsCrack-2.6.9-release-enc.jar
  • 啟動Intellig,進入註冊頁面,選擇Activation code
  • 在下方的輸入框中隨便輸入幾個字元就可以破解

1.2 配置Intellig

破解完成後第一次執行會進入下面介面,我們選擇Darcula風格,然後一直Next就可以


之後會讓我們新建專案,這裡我們先不著急,先git clone github.com/G-Joker/Wea… ,把專案拉下來放在任意一個目錄下,然後再選擇Import Project

選擇我們剛才clone下來的目錄,注意這裡要選Server,Client是客戶端專案
點選Ok即進入Intellig主介面,這個大家都比較熟悉了,跟Android Studio幾乎一樣,我們先進行一些介面配置,調整下字型大小,自動導包等,Ctrl+Alt+S



配置一下JDK目錄

這些步驟完成後,開發環境即配置好了,但是專案還不能執行,因為還沒有配置資料庫

二、搭建資料庫

2.1 安裝MySQL

到官網下載比較慢,所以我就直接在百度上下載了,直接百度搜索 “mysql 下載”,就可以了,我下載的檔案為mysql-5.7.17.msi,點選直接安裝,在第二步Choosing a Setup Type的時候,選擇Server only


然後一直Next,在輸入資料庫密碼的時候輸入App123,A大寫,為什麼輸入這個,因為WeaponApp專案裡面配置的密碼是這個

之後就一直Next,MySQL安裝成功,下面我們講資料庫操作

2.1 用navicat操作資料庫

navicat是個工具,可以直接到百度下載,這個軟體也需要註冊,不過直接輸入註冊碼就是了,我有現成的NAVH-WK6A-DMVK-DKW3,註冊成功即可開啟,然後連線資料庫,密碼是App123


新建一個數據庫test,為什麼叫test,因為WeaponApp裡配置的資料庫叫test

接下來匯入資料,本來這裡表是需要一個個建的,為了省事,我已經把專案的表結構都匯出來了,在Server專案下有個tools目錄,裡面有個data.sql的檔案,我們可以用navcat直接匯入所有的表

這樣,我們資料庫就搭建好了,接下來就可以執行專案了

三、搭建執行環境

3.1 直接執行專案

跟Android一樣,Server也有debug模式和release模式,我們先講debug模式,這個其實比較簡單,首先確定根目錄下的gradle.properties裡DEVELOP_MODE=true,然後點選執行即可


然後我們就可以在瀏覽器裡輸入http://localhost:8080/home/taobaolist ,當然還有其他介面,可以參照doc目錄下的介面文件

3.2 執行在tomcat

我們的專案需要掛到tomcat上,這樣服務就可以一直開著了,畢竟開發工具你不可能一直開著。首先我們需要去下載一個tomcat,下載地址mirrors.hust.edu.cn/apache/tomc… 。下載好後直接執行,中間有一步選擇JDK路徑


接下來去把專案release包打出來,我們開啟Intellig,首先確定根目錄下的gradle.properties裡DEVELOP_MODE=false,然後在Terminal中輸入gradlew assemble就可以了,然後在build/libs下有個Server-0.0.1-SNAPSHOT.war,這就是我們打出的release包
我們先把這個war包改個名字,叫api.war,然後找到tomcat的安裝目錄,裡面有個目錄叫webapps,把裡面的檔案全部刪除,然後把api.war拷貝進去,這時候api.war包會自動解壓成資料夾,說明伺服器啟動了,如果沒有自動解壓,那我們可以到tomcat的bin目錄下執行Tomcat9w.exe,然後點選下面的start
這樣我們就可以在瀏覽器輸入http://localhost:8080/api/home/taobaolist 直接訪問了,這裡注意一點,和直接debug執行不同,地址8080後要加一個api的路徑,這個名字跟war包的名字相同

至此,一個本地版的伺服器就搭建起來了,如果其他電腦和你的電腦在同一個區域網內,就可以通過ip地址訪問伺服器了,比如你的ip是192.168.1.101,那麼其他電腦就可以用http://192.168.1.101:8080/api/home/taobaolist 訪問,如果要外網也可以訪問,那就要搭建雲伺服器了,接下來我將講如何搭建阿里雲。

3.3 搭建阿里雲

搭建阿里雲之前,你需要去買一個阿里雲的伺服器,我是買的免費6個月的,一共9.9,地址free.aliyun.com/ ,買了之後再進入這個頁面,它會叫你去開通各項免費服務,這裡主要是 “雲伺服器 ECS”,其他的東西暫時用不著,開通的時候會讓你選擇什麼作業系統,我選的是Windows Server 2012中文版,主要是平時開發用的Windows,你們可以根據自己的情況來,開通好後就可以前往控制檯了

阿里雲控制檯提供了遠端控制功能,但是不太方便,因為一是瀏覽器比較卡,二是傳輸檔案不太方便,所以我一般是直接用電腦遠端連線,首先win+R,輸入mstsc


這時候我們需要輸入遠端ip地址,這個在阿里雲的控制檯上有,點選概覽,然後選擇伺服器

比如我的ip是47.95.198.174,然後輸入到剛才Win+R開啟的介面,進行如下操作即可

這樣我們阿里雲的伺服器就可以訪問本地C盤和D盤上的內容了,而且速度也比瀏覽器快很多,接下來我們講如何在阿里雲上搭建伺服器執行環境。

3.4 阿里雲執行環境

阿里雲伺服器就相當於一臺電腦,所以執行環境的搭建跟我們在本地其實是一樣的。我們先要安裝MySQL,這個跟本地一樣,我們可以去伺服器的瀏覽器下載,也可以從本地拷貝過去


本地拷貝
本地拷貝的速度是比較慢的,因為遠端連線也是通過網路,所以我建議能從瀏覽器下載的都從瀏覽器下載,除非我們要釋出war包之類的才用本地拷貝。安裝完MySQL後安裝navicat,新建資料庫,匯入資料,安裝tomcat,拷貝war包到webapps下,這些都跟在本地一樣。這些工作做完後,我們在伺服器的瀏覽器上輸入http://localhost:8080/api/home/taobaolist,如果能訪問說明伺服器環境搭建成功

3.5 在外網訪問介面

阿里雲伺服器執行環境搭建好後,我們在外網用http://47.95.198.174:8080/api/home/taobaolist 是沒法訪問的,因為阿里雲控制檯有安全控制,不是所有埠都可以在外網訪問的,這時我們需要去阿里雲控制檯設定埠


這樣我們就可以在外網用http://47.95.198.174:8080/api/home/taobaolist 訪問了,當然我們可以把埠8080改成80,這樣我們就可以用http://47.95.198.174/api/home/taobaolist訪問了,這個需要我們配置伺服器的tomcat,開啟tomcat下面的conf目錄,裡面有個server.xml
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

將port改成80即可,然後同樣需要在阿里雲控制檯配置80埠

如果你想把ip地址變成域名訪問,比如app.foxleezh.me/api/home/ta… ,那還要去買域名,做一下域名對映就行了,這個比較簡單,本文就不介紹了

小結

本文主要介紹如何搭建一個簡單的伺服器供Android客戶端訪問,主要有以下幾個方面:

1.搭建開發環境,主要是用Intellig開發,框架是Spring-Boot和Mybatis
2.搭建資料庫,資料庫用MySQL,操作工具是navicat
3.搭建執行環境,掛載容器用Tomcat,然後用阿里雲作為雲伺服器