1. 程式人生 > >Android程式設計師搭建一個屬於自己的伺服器,不再求各種公共API

Android程式設計師搭建一個屬於自己的伺服器,不再求各種公共API

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

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

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

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

一、搭建開發環境

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

1.1 IntelliJ安裝

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

1.2 配置IntelliJ

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

image


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

image


選擇我們剛才clone下來的目錄,注意這裡要選Server,Client是客戶端專案

image

點選Ok,需要選擇構建方式,我們選擇import,然後選擇gradle

image

點選下一步,配置下gradle和java的環境

image

點選Finish即進入IntelliJ主介面,這個大家都比較熟悉了,跟Android Studio幾乎一樣,我們先進行一些介面配置,調整下字型大小,自動導包等,Ctrl+Alt+S

image

image

image

配置一下JDK目錄

image


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

二、搭建資料庫

2.1 安裝MySQL

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

image

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

image


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

2.1 用navicat操作資料庫

navicat是個工具,可以直接到百度下載,然後連線資料庫,密碼是App123

image

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

image


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

image

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

三、搭建執行環境

3.1 直接執行專案

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

image

image

3.2 執行在tomcat

image

接下來去把專案release包打出來,我們開啟IntelliJ,首先確定根目錄下的gradle.properties裡DEVELOP_MODE=false,然後在Terminal中輸入gradlew assemble就可以了,然後在build/libs下有個Server-0.0.1-SNAPSHOT.war,這就是我們打出的release包

image

我們先把這個war包改個名字,叫api.war,然後找到tomcat的安裝目錄,裡面有個目錄叫webapps,把裡面的檔案全部刪除,然後把api.war拷貝進去,這時候api.war包會自動解壓成資料夾,說明伺服器啟動了,如果沒有自動解壓,那我們可以到tomcat的bin目錄下執行Tomcat9w.exe,然後點選下面的start

image


這樣我們就可以在瀏覽器輸入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,地址https://free.aliyun.com/ ,買了之後再進入這個頁面,它會叫你去開通各項免費服務,這裡主要是 “雲伺服器 ECS”,其他的東西暫時用不著,開通的時候會讓你選擇什麼作業系統,我選的是Windows Server 2012中文版,主要是平時開發用的Windows,你們可以根據自己的情況來,開通好後就可以前往控制檯了

image

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

image

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

image

image

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

image

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

3.4 阿里雲執行環境

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

image

本地拷貝

image


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

3.5 在外網訪問介面

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

image

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

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

如果你想把ip地址變成域名訪問,比如http://app.foxleezh.me/api/home/taobaolist (目前要備案無法訪問),那還要去買域名,做一下域名對映就行了,這個比較簡單,本文就不介紹了

小結

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

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



作者:foxleezh
連結:https://www.jianshu.com/p/4a0d40806ea2
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。

相關推薦

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

前言 最近在跟小夥伴合作開發一款app,苦於沒有合適的公共api介面,所以決定自己搭建一個伺服器,目前已實現註冊、登入,爬蟲定時拉取閒魚首頁更新資料庫。 搭建伺服器需要些什麼工作 本文所介紹的伺服器都是入門級別的,適合移動端同學自己搭建玩玩,還沒有達到商業開發水平,大牛請

Android程式設計師搭建一個屬於自己伺服器不再各種公共API

搭建伺服器需要些什麼工作 本文所介紹的伺服器都是入門級別的,適合移動端同學自己搭建玩玩,還沒有達到商業開發水平,大牛請莫見怪。 我們搭建伺服器主要有以下幾個步驟: 1.搭建開發環境,IntelliJ + spring-boot + mybatis 2.搭建資料庫,

【微信開發】02.搭建一個屬於自己的微信公眾平臺

tro 投票 新浪 關系 blank 訂閱 logs name 開發者 閱讀目錄 【網站開發】在新浪SAE上搭建一個博客 概述   公司年會上同事開發了一個微信企業號,包含了投票,抽獎,祝福墻功能,還開了一個Session,跟我們講了下公司的企業號開發過程和抽獎中獎

直播源碼如何搭建一個屬於自己的直播平臺?

直播源碼 直播系統 直播軟件 現在直播非常火爆,可以從PC或手機直播,然後從PC或是手機或是 支持HTML5的瀏覽器 收看。但是,你知道直播平臺後面的技術和實現原理碼?正好去年過年的時候,一個朋友破解了AirPlay和Chromecast協議,然後開發了一套技術能夠截獲和播放任何手機(iOS或是A

小白如何花費幾十元搭建一個屬於自己的網站!

摘要: 1.域名在騰訊雲、阿里雲等購買一個域名,學生只需十塊左右;2.虛擬主機選擇一個合適自己的虛擬主機,以騰訊云為例,基礎版只要19.6rmb/月;3.網站備案備案步驟如下;4.域名解析解析後可通過網路訪問你的網站,直接購 ...    

簡單MVP+RxJava2+Retrofit2 搭建一個屬於自己的開發框架

一:序言 2016年安卓熱門詞彙MVP,RxJava,Retrofit。時隔一年這些框架依然是很常用的,現在來把這幾個關鍵詞整合起來,搭建一個快速開發框架。。。 二: MVP是什麼? 對於一些剛學安卓的朋友們應該還不是太熟悉,我們先來溫習一下吧!   這

自動化測試框架 | selenium+Python怎樣從0開始搭建一個屬於自己專案的自動化測試框架

這篇博文下面的文章是連結到我知乎專欄的,現啟用新知乎賬號「馬蟻蛋」,對應的專欄「軟體測試精選」,所有文章全部遷移至此賬號了,需要的請關注。此篇文章是,如何從零搭建一個屬於自己專案的自動化測試框架(第一篇

如何搭建一個屬於自己的直播平臺?

現在直播非常火爆,可以從PC或手機直播,然後從PC或是手機或是 支援HTML5的瀏覽器 收看。但是,你知道直播平臺後面的技術和實現原理碼? 正好去年過年的時候,一個朋友破解了AirPlay和Chromecast協議,然後開發了一套技術能夠截獲和播放任何手機(iOS或是A

程式設計師抱怨同事找自己麻煩自己就是農民工網友:別侮辱農民工

大家可能都知道,程式設計師的工資水平雖然不低,但他們的工作環境以及承受的壓力也是很高的,有的網友經常會自我解嘲的說自己是新時代的農民工。或許也能看出程式設計師們的無奈與辛苦吧。

Android網路程式設計之搭建一個屬於自己的簡單servlet服務端。

部署一個自己的一個簡單servlet服務端有以下幾步: 1.jdk的安裝就不說啦。這裡我們將演示的是在Eclipse裡面釋出專案,要想釋出一個專案,首先我們要有一個tomcat,去官網下載或者百度都可以,下載好之後解壓到任意目錄,然後再eclipse裡面進行配

第一次使用Android Studio時你應該知道的一切配置(二):新建一個屬於自己的工程並安裝Genymotion模擬器

人性 pro net 參考 json irb 一個地方 vid 調試 【聲明】 歡迎轉載,但請保留文章原始出處→_→ 生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/439

一個普通Android程式設計師的2019

承接去年總結: 一個普通Android程式設計師的2018 2018: 總結這一年繼續分三個方面吧: 職場篇: 這一年發生了很多事,上家公司團隊經營問題,最終結果是團隊解散,期間發生一系列事情,參照一個普通一個Android程式設計師的心酸歷程(2018.5.1)。然後修

3、《SSO CAS單點系列》之 自己動手實現一個屬於自己的SSO認證伺服器

上篇《實現一個SSO認證伺服器是這樣的》中,我們詳細講述了實現SSO的基本思路,本篇我們按照這個思路,親自動手實現一個輕量級的SSO認證中心。除了認證中心,我們還要改造系統應用的登入登出部分,使之與認證中心互動,共同完成SSO。因此我們的實現分成兩大部分,一個是SSO Ser

突破自己的技術瓶頸Android程式設計師高階進階危機感

>  突破自己的技術瓶頸,個人的技術輸入與輸出1、技術瓶頸 ; 2、工作上瓶頸 ; 3、收入上瓶頸 如何突破技術發展瓶頸?- http://www.sohu.com/a/246164204_100066886 如何持續進步,突破技術瓶頸?- http://www.soh

混合開發的大趨勢之 一個Android程式設計師眼中的 React.js 塊級作用域 和 let

最近都有事幹然後,快到月底了這個月給CSDN的博文也就兩篇,想想也蠻多天沒更了,那就來一篇。 學了一段時間的RN,公司專案的部分模組也遷移到了RN。 我自己是會SE的東西卻對JS不太熟,所以生產效率並不是太高,正好微信的小程式也是類似的實現,讓我覺得

Android Studio 使用教程(三)之新建一個屬於自己的工程

一、新建工程: 1、新建一個Project: 開啟Android Studio,新建一個Project,介面如下: 上圖中,設定好工程名和路徑之後,接下來可以一路next:

使用XAMPP和Wordpress搭建一個屬於自己的網站

你好,從今天開始,我將為大家帶來一些我學習SEO和建站的免費教程,今天為大家帶來的是如何用XAMPP搭建一個屬於你自己的網站。來到這裡,可以說很多在百度上已經過時了的資料需要總結的資料這裡都有,你只要按照我的教程來好的廢話不多說了現在開始教程。 首先我們要明白一些問題

如何擁有一個屬於自己的網站

網站 需要 article .com 不知道 *** 轉載 大型 滿足 前言 網站顧名思義就是網上的一個站點 而你打開的頁面就是一個站點上的一個一個文件。那就有人問了,我有一臺可以上網的計算機可不可以當站點用呢?答案是肯定的 通俗點來講就跟你平時串門一樣 這家門開著你就可

企業為什麽要做一個屬於自己的營銷網站?

itl 方式 營銷推廣 理由 沒有 適用於 才會 欲望 項目 做網站優化是不區分行業的,也就是說SEO適用於所有行業。有人認為隔行如隔山,這句話沒錯,但吖七認為,SEO不只是一種技術而應該是一種思維,換句話講做SEO是做營銷,而營銷思維主導著一家企業的生死。服務行業seo策

三年是程式設計師一個

三年是程式設計師的一個坎 我的工作經歷 一次面試 展望未來 我的工作經歷 我是一個工作快三年了的程式設計師,從一家醫科大學出來之後選擇了程式設計師道路,曾供職於中國航信重慶研發中心和南京君合創勝(一家中興軟創的人力