手把手教你搭建一个javaweb项目,结合另一篇:如何在海外服务器上搭建无需域名认证的个人网站,便可以简单的搭起一个动态网站!
阿里云服务器准备
1.购买阿里云服务器
2.修改服务器密码
ps:重置密码后,要重启!要重启!要重启!
3.通过外网ip, 连接终端 ;
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没有任何问题,出现如下图
专有网络必须在阿里云后台配置安全组规则,才能对开开放配置的端口,配置如下:
简单粗暴的所有端口与ip,自己根据自己的需求去配置
至此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,结果如下图:
以上内容仅仅只能在本地打包,上传到服务器,不利于持续集成开发,以下是如何实现服务器打包,发布。
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
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如下图:
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
4.浏览器实际测试api
总结
到此为止,我们可以成功的在阿里云服务器上搭建成功一个javaweb应用。