【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

手把手教你搭建一个javaweb项目,结合另一篇:如何在海外服务器上搭建无需域名认证的个人网站,便可以简单的搭起一个动态网站!

阿里云服务器准备

1.购买阿里云服务器    

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

2.修改服务器密码

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

ps:重置密码后,要重启!要重启!要重启!
3.通过外网ip, 连接终端    ;

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

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

    //现在服务器上创建目录/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没有任何问题,出现如下图    

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》


专有网络必须在阿里云后台配置安全组规则,才能对开开放配置的端口,配置如下:

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

简单粗暴的所有端口与ip,自己根据自己的需求去配置

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

至此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,结果如下图:

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

以上内容仅仅只能在本地打包,上传到服务器,不利于持续集成开发,以下是如何实现服务器打包,发布。

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(需要科学上网,不知道如何科学上网可看我上一篇文章) 

如何在空白服务器上搭建web应用

    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

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

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如下图:

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》


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

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

4.浏览器实际测试api

《【猿来如此】其实在阿里云上搭建javaweb应用没有那么难!》

总结

 到此为止,我们可以成功的在阿里云服务器上搭建成功一个javaweb应用。
    原文作者:骨豆猫宁
    原文地址: https://segmentfault.com/a/1190000009842540
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞