记录第一个JavaWeb项目过程 阿里云服务器+Tomcat9.0+jdk1.8

本文主要是介绍记录第一个JavaWeb项目过程 阿里云服务器+Tomcat9.0+jdk1.8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 准备工作
购买阿里云服务器(linux)
下载:
putty
FileZlilla
Tomcat9.0.0.M21.tar.gz
jdk-8u131-linux-x64.tar

2 putty远程登录,输入服务器IP地址—->open

3 FileZlilla 登陆 ,传输文件,将 Tomcat9.0.0.M21.tar.gz
jdk-8u131-linux-x64.tar传到服务器中,目录自定义。传输压缩包更快,解压过再传输也没什么问题,慢一点
FileZlilla作用:传输文件、删除文件、创建目录更方便,和使用命令行效果一样

4.构建Java环境
1)到jdk的目录下,解压 jdk-8u131-linux-x64.tar,我解压到了当前目录下
我的jdk目录为/usr/java

cd /usr/java
tar -zxvf  jdk-8u131-linux-x64.tar.gz

2)配置环境变量

vi /etc/profile

不能编辑就按I,底部出现insert,编辑完按Esc,W保存,shift+zz退出回到命令行
在默认的环境变量上进行修改如下:我第一次配置失败,装完查版本发现是1.7但是我明明装的是1.8,发现服务器自带了1.7,在profile中仅仅添加export也不能成功,直接将原来的export JAVA_HOME=/usr/java/default以及JRE_HOME改为如下,修改成功

export JAVA_HOME=/usr/java/jdk1.8.0_131  
export JRE_HOME=/usr/java/jdk1.8.0_131/jre  

使修改立即生效

source /etc/profile  

查看当前版本,显示为1.8则安装成功

java -version

这里写图片描述

5 安装Tomcat
1)到Tomcat所在目录,解压到当前文件夹,解压到别的地方也行

cd /usr/java/tomcat
tar -zxvf apache-tomcat-9.0.0.M21.tar.gz

2)配置环境
进入到tomcat的bin下

cd /usr/java/tomcat/apache-tomcat-9.0.0.M21/bin

配置classpath

vi setclasspath.sh

在文件头部添加两句话,对应自己的路径

export JAVA_HOME=/usr/java/jdk1.8.0_131
export  JRE_HOME=/usr/java/jdk1.8.0_131/jre 

ESC W 保存 shift+zz退出到bin
起tomcat(一定要在bin下)

./startup.sh  

不报错安装成功
这里写图片描述

6.发布项目
1.将web项目打包成WAR包,放到Tomcat的webapps下
2.修改tomcat/apache-tomcat-9.0.0.M21/conf/server.xml文件,使得通过服务器地址可以访问到项目
修改两个地方:defaultHost的值改为服务器地址,host中name改成服务器地址。其余不需要修改

<Engine name="Catalina" defaultHost="112.78.203.113">
<Host name="112.78.203.113"  appBase="webapps"unpackWARs="true" autoDeploy="true">

3.用IP地址访问项目:
注意,要将Tomcat开启,否则也会报404错误,我一开始一直以为路径错误,查了好久,添加了content标签都没用,后来将服务器端Tomcat开启时访问网页成功
地址+端口号+WAR包名字
http://112.78.203.113:8080/Test
这里写图片描述

安装中遇到的问题:

1.安装的是JDK1.8,查询版本发现是1.7
这里写图片描述
vi /etc/profile 文件中有默认的JDK_HOME ,JRE_HOME1,查看位置系统自带了1.7,直接在这两句上修改,换成自己的JDK路径,不是添加另外两句export

2.装完后启动Tomcat,找不到文件
这里写图片描述
原来配置JAVA环境变量的时候,少了JRE_HOME,添上OK

3.关闭Tomcat 报错No such file or directory
进入logs,查看日志列表

cd /usr/java/tomcat/apache-tomcat-9.0.0.M21/logs
ll

远程查看tomcat的控制台:进入tomcat/logs/文件夹下

tail -f catalina.out 

Ctrl+c退出

catalina.out 中显示
/usr/java/tomcat/apache-tomcat-9.0.0.M21/bin/catalina.sh: line 434: /usr/java/jdk1.8.0_131/jre /bin/java: No such file or directory
/usr/java/tomcat/apache-tomcat-9.0.0.M21/bin/catalina.sh: line 434: /usr/java/jdk1.8.0_131/jre /bin/java: No such file or directory

查看路径都没错,找了很久不知道怎么办

echo $JAVA_HOME
echo $JRE_HOME

后来将配置classpath时添加的两句export放到文件头部,错误解决
这里写图片描述

这篇关于记录第一个JavaWeb项目过程 阿里云服务器+Tomcat9.0+jdk1.8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558359

相关文章

Java中Map的五种遍历方式实现与对比

《Java中Map的五种遍历方式实现与对比》其实Map遍历藏着多种玩法,有的优雅简洁,有的性能拉满,今天咱们盘一盘这些进阶偏基础的遍历方式,告别重复又臃肿的代码,感兴趣的小伙伴可以了解下... 目录一、先搞懂:Map遍历的核心目标二、几种遍历方式的对比1. 传统EntrySet遍历(最通用)2. Lambd

Django调用外部Python程序的完整项目实战

《Django调用外部Python程序的完整项目实战》Django是一个强大的PythonWeb框架,它的设计理念简洁优雅,:本文主要介绍Django调用外部Python程序的完整项目实战,文中通... 目录一、为什么 Django 需要调用外部 python 程序二、三种常见的调用方式方式 1:直接 im

Spring Boot 中 RestTemplate 的核心用法指南

《SpringBoot中RestTemplate的核心用法指南》本文详细介绍了RestTemplate的使用,包括基础用法、进阶配置技巧、实战案例以及最佳实践建议,通过一个腾讯地图路线规划的案... 目录一、环境准备二、基础用法全解析1. GET 请求的三种姿势2. POST 请求深度实践三、进阶配置技巧1

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

Spring Boot 处理带文件表单的方式汇总

《SpringBoot处理带文件表单的方式汇总》本文详细介绍了六种处理文件上传的方式,包括@RequestParam、@RequestPart、@ModelAttribute、@ModelAttr... 目录方式 1:@RequestParam接收文件后端代码前端代码特点方式 2:@RequestPart接

SpringBoot整合Zuul全过程

《SpringBoot整合Zuul全过程》Zuul网关是微服务架构中的重要组件,具备统一入口、鉴权校验、动态路由等功能,它通过配置文件进行灵活的路由和过滤器设置,支持Hystrix进行容错处理,还提供... 目录Zuul网关的作用Zuul网关的应用1、网关访问方式2、网关依赖注入3、网关启动器4、网关全局变

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配