gakki01.jpeg
手把手教你搭建一個javaweb項目,結合另一篇:如何在海外服務器上搭建無需域名認證的個人網站,便可以簡單的搭起一個動態網站!
阿里云服務器準備
1.購買阿里云服務器
ali01.png
2.修改服務器密碼
ali02.png
ali03.png
ps:重置密碼后,要重啟!要重啟!要重啟!
3.通過外網ip, 連接終端 ;
ali04.png
ps: 默認用戶就是root,端口22
jdk安裝
//jdk版本根據自己的需求,我的api-framework框架一直在java1.7上運行
yum -y install java-1.8.0-openjdk*
java -version
//openjdk version "1.8.0_131"
//OpenJDK Runtime Environment (build 1.8.0_131-b12)
//OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
tomcat安裝
jdk我通過yum安裝的,tomcat我通過源碼來安裝,安裝版本為tomcat7
1.去官網下載tomcat源碼apache-tomcat-7.0.78.tar.gz
//現在服務器上創建目錄/data/source,存放源碼,個人習慣
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.78/bin/apache-tomcat-7.0.78.tar.gz
//在服務器上解壓
tar -zxvf apache-tomcat-7.0.78.tar.gz
//重命名tomcat并移動到/data/services/目錄下,個人習慣
mv apache-tomcat-7.0.78 /usr/local/tomcat
//啟動tomcat
/usr/local/tomcat/bin/startup.sh
//Using CATALINA_BASE: /usr/local/tomcat
//Using CATALINA_HOME: /usr/local/tomcat
//Using CATALINA_TMPDIR: /usr/local/tomcat/temp
//Using JRE_HOME: /usr
//Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/ local/tomcat/bin/tomcat-juli.jar
//Tomcat started.
到此tomcat應該可以訪問,但是有個很大的坑,阿里云的經典網絡和專有網絡的區別
經典網絡到此,直接外網訪問:http://47.93.30.112:8080沒有任何問題,出現如下圖
ali05.png
專有網絡必須在阿里云后臺配置安全組規則,才能對開開放配置的端口,配置如下:
ali06.png
ali07.png
簡單粗暴的所有端口與ip,自己根據自己的需求去配置
ali08.png
至此javaweb遠行環境搭配完畢
測試自己的springMvc項目
項目框架:api-framework(ps:有一些私有框架代碼依賴,不便上傳到github,若自己不能搭建一個spring javaweb項目,可以與我溝通)
//代碼clone
git clone https://github.com/tonysCorner/api-framework.git
//maven打包(去包自己本地電腦安裝了maven)
mvn clean install
//上傳到遠程服務器tomcat/webapps目錄下。
scp -r /Users/lixingjian/Desktop/project/api-framework/target/api-framework.war root@47.93.30.112:/usr/local/tomcat/webapps
//ps:以上命令是把本地文件上傳到服務器,那從服務器下載文件到本地的命令是什么?
//重啟tomcat(tomcat7以上不必重起的,個人習慣重啟,避免莫名其妙的事情發生)
ps auc|grep tomcat
kill -9 pid //pid從上面命令查看
/usr/local/tomcat/bin/startup.sh
//實時輸出日志
tail -f /usr/local/tomcat/logs/catalina.out
//看到如下日志并且沒有報錯,說明tomcat啟動成功
//六月 13, 2017 1:35:48 下午 org.apache.catalina.startup.Catalina start
//信息: Server startup in 94846 ms
訪問測試api:http://47.93.30.112:8080/api-framework/api/test.xhtml,結果如下圖:
ali10.png
以上內容僅僅只能在本地打包,上傳到服務器,不利于持續集成開發,以下是如何實現服務器打包,發布。
Maven安裝
1.下載maven
wget https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
2.解壓至/usr/local目錄
tar -zxvf apache-maven-3.2.5-bin.tar.gz
3.配置環境變量etc/profile 最后添加以下兩行
export MAVEN_HOME=/usr/local/apache-maven-3.2.5
export PATH=${PATH}:${MAVEN_HOME}/bin
4.測試
source /etc/profile
mvn -v
//Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-15T01:29:23+08:00)
//Maven home: /usr/local/maven
//Java version: 1.7.0_141, vendor: Oracle Corporation
//Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/jre
//Default locale: zh_CN, platform encoding: UTF-8
//OS name: "linux", version: "3.10.0-514.6.2.el7.x86_64", arch: "amd64", family: "unix"
Nexus 安裝
1.下載安裝Nexus(需要科學上網,不知道如何科學上網可看我上一篇文章)
wget http://download.sonatype.com/nexus/oss/nexus-2.12.0-01-bundle.tar.gz
tar zxvf nexus-2.12.0-01-bundle.tar.gz
//個人習慣
mv nexus-2.12.0-01 /usr/local/nexus
mv sonatype-work /usr/local/sonatype-work
2.修改配置文件/etc/profile,添加如下內容:
# Nexus
NEXUS_HOME=/usr/program/nexus2.12.0
export NEXUS_HOME
RUN_AS_USER=root
export RUN_AS_USER
//刷新配置
source /etc/profile
3.測試安裝結果
//啟動 Nexus
/usr/local/nexus/bin/nexus start
//查看啟動日志
tail -200f /usr/local/nexus/bin/nexus start
//訪問
http://47.93.30.112:8081/nexus/ //如下圖
登錄賬號密碼:默認
賬號密碼:admin
密碼:admin123
ali09.png
4.導入本地私有倉庫內容到服務器nexus倉庫
scp -r /Users/lixingjian/.m2/repository root@47.93.30.112:/usr/local/sonatype-work/nexus/storage/public-snapshot
整合Nexus和maven
1.修改maven的配置文件settings.xml如下圖:
ali11.png
2.編寫發布腳本
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: api-framework.sh
# Revision: 1.0
# Date: 2017/02/19
# Author: gudoumaoning
# Email: gudoumaoning@gmail.com
# Website: www.godmn.com
# Description:
# Notes: ~
# -------------------------------------------------------------------------------
# Copyright: 2017 (c) goudoumaoning
# License: GPL
function Pull_Code() {
cd /data/services/api-framework/
git reset --hard
git clean -df
git pull
}
function Compile() {
mvn clean package -Denv=dev -Dmaven.dev.skip=true
}
function Update_Tomcat() {
rm -rf /usr/local/tomcat/webapps/*
cp -rp /data/services/api-framework/target/api-framework.war /usr/local/tomcat/webapps/api-framework.war
}
# 入口函數
function Main()
{
# 代碼同步
Pull_Code
Compile
# 部署
Update_Tomcat
}
# 入口
Main
3.測試發布腳本./api-framework.sh
ali12.png
4.瀏覽器實際測試api
ali14.png
總結
到此為止,我們可以成功的在阿里云服務器上搭建成功一個javaweb應用。