手把手教你搭建一個(gè)javaweb項(xiàng)目弊知,結(jié)合另一篇:如何在海外服務(wù)器上搭建無(wú)需域名認(rèn)證的個(gè)人網(wǎng)站,便可以簡(jiǎn)單的搭起一個(gè)動(dòng)態(tài)網(wǎng)站粱快!
阿里云服務(wù)器準(zhǔn)備
1.購(gòu)買阿里云服務(wù)器
2.修改服務(wù)器密碼
ps:重置密碼后吉捶,要重啟!要重啟皆尔!要重啟呐舔!
3.通過(guò)外網(wǎng)ip, 連接終端 ;
ps: 默認(rèn)用戶就是root,端口22
jdk安裝
//jdk版本根據(jù)自己的需求慷蠕,我的api-framework框架一直在java1.7上運(yùn)行
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我通過(guò)yum安裝的珊拼,tomcat我通過(guò)源碼來(lái)安裝,安裝版本為tomcat7
1.去官網(wǎng)下載tomcat源碼apache-tomcat-7.0.78.tar.gz
//現(xiàn)在服務(wù)器上創(chuàng)建目錄/data/source流炕,存放源碼澎现,個(gè)人習(xí)慣
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.78/bin/apache-tomcat-7.0.78.tar.gz
//在服務(wù)器上解壓
tar -zxvf apache-tomcat-7.0.78.tar.gz
//重命名tomcat并移動(dòng)到/data/services/目錄下仅胞,個(gè)人習(xí)慣
mv apache-tomcat-7.0.78 /usr/local/tomcat
//啟動(dòng)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應(yīng)該可以訪問,但是有個(gè)很大的坑剑辫,阿里云的經(jīng)典網(wǎng)絡(luò)和專有網(wǎng)絡(luò)的區(qū)別
經(jīng)典網(wǎng)絡(luò)到此干旧,直接外網(wǎng)訪問:http://47.93.30.112:8080沒有任何問題,出現(xiàn)如下圖
專有網(wǎng)絡(luò)必須在阿里云后臺(tái)配置安全組規(guī)則妹蔽,才能對(duì)開開放配置的端口椎眯,配置如下:
簡(jiǎn)單粗暴的所有端口與ip,自己根據(jù)自己的需求去配置
至此javaweb遠(yuǎn)行環(huán)境搭配完畢
測(cè)試自己的springMvc項(xiàng)目
項(xiàng)目框架:api-framework(ps:有一些私有框架代碼依賴胳岂,不便上傳到github编整,若自己不能搭建一個(gè)spring javaweb項(xiàng)目,可以與我溝通)
//代碼clone
git clone https://github.com/tonysCorner/api-framework.git
//maven打包(去包自己本地電腦安裝了maven)
mvn clean install
//上傳到遠(yuǎn)程服務(wù)器tomcat/webapps目錄下乳丰。
scp -r /Users/lixingjian/Desktop/project/api-framework/target/api-framework.war root@47.93.30.112:/usr/local/tomcat/webapps
//ps:以上命令是把本地文件上傳到服務(wù)器掌测,那從服務(wù)器下載文件到本地的命令是什么?
//重啟tomcat(tomcat7以上不必重起的产园,個(gè)人習(xí)慣重啟汞斧,避免莫名其妙的事情發(fā)生)
ps auc|grep tomcat
kill -9 pid //pid從上面命令查看
/usr/local/tomcat/bin/startup.sh
//實(shí)時(shí)輸出日志
tail -f /usr/local/tomcat/logs/catalina.out
//看到如下日志并且沒有報(bào)錯(cuò),說(shuō)明tomcat啟動(dòng)成功
//六月 13, 2017 1:35:48 下午 org.apache.catalina.startup.Catalina start
//信息: Server startup in 94846 ms
訪問測(cè)試api:http://47.93.30.112:8080/api-framework/api/test.xhtml什燕,結(jié)果如下圖:
以上內(nèi)容僅僅只能在本地打包粘勒,上傳到服務(wù)器,不利于持續(xù)集成開發(fā)秋冰,以下是如何實(shí)現(xiàn)服務(wù)器打包仲义,發(fā)布。
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.配置環(huán)境變量etc/profile 最后添加以下兩行
export MAVEN_HOME=/usr/local/apache-maven-3.2.5
export PATH=${PATH}:${MAVEN_HOME}/bin
4.測(cè)試
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(需要科學(xué)上網(wǎng)剑勾,不知道如何科學(xué)上網(wǎng)可看我上一篇文章)
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
//個(gè)人習(xí)慣
mv nexus-2.12.0-01 /usr/local/nexus
mv sonatype-work /usr/local/sonatype-work
2.修改配置文件/etc/profile埃撵,添加如下內(nèi)容:
# Nexus
NEXUS_HOME=/usr/program/nexus2.12.0
export NEXUS_HOME
RUN_AS_USER=root
export RUN_AS_USER
//刷新配置
source /etc/profile
3.測(cè)試安裝結(jié)果
//啟動(dòng) Nexus
/usr/local/nexus/bin/nexus start
//查看啟動(dòng)日志
tail -200f /usr/local/nexus/bin/nexus start
//訪問
http://47.93.30.112:8081/nexus/ //如下圖
登錄賬號(hào)密碼:默認(rèn)
賬號(hào)密碼:admin
密碼:admin123
4.導(dǎo)入本地私有倉(cāng)庫(kù)內(nèi)容到服務(wù)器nexus倉(cāng)庫(kù)
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如下圖:
2.編寫發(fā)布腳本
#!/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
}
# 入口函數(shù)
function Main()
{
# 代碼同步
Pull_Code
Compile
# 部署
Update_Tomcat
}
# 入口
Main
3.測(cè)試發(fā)布腳本./api-framework.sh
4.瀏覽器實(shí)際測(cè)試api
總結(jié)
到此為止,我們可以成功的在阿里云服務(wù)器上搭建成功一個(gè)javaweb應(yīng)用虽另。