Tomcat部署Java Web项目教程

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:

Tomcat是一个开源的且免费的Java Web服务器,常用来作为web开发的工具。它可以托管由servlet,JSP页面(动态内容),HTML页面,js,样式表,图片(静态内容)组成的Java Web应用程序。

部署方式
在阿里云服务器下部署JAVA提供三种部署方式:
JAVA镜像部署
JAVA环境(CentOS7.2 Nginx Tomcat8 JDK)
一键安装包部署
OneinStack一键PHP JAVA安装工具《专业版》
手动部署(源码编译安装/YUM安装)
一般推荐镜像部署适合新手使用更加快捷方便,安装包部署以及手动部署适合对Linux命令有基本了解的用户,可以满足用户个性化部署的要求。本教程主要介绍镜像和手工部署的方式。

镜像部署

单击 JAVA环境(CentOS7.2 Nginx Tomcat8 JDK)进入镜像详情页。
单击 立即购买,按提示步骤购买 ECS 实例。
登录 ECS 管理控制台。
在左边导航栏里,单击 实例,进入 ECS 实例列表页
选择所购 ECS 实例所在的地域,并找到所购 ECS 实例,在 IP 地址 列获取该实例的公网 IP 地址。
在浏览器地址栏中输入公网 IP 地址,下载操作文档。
image

使用putty登录Linux服务器,参考《连接Linux实例》;忘记root密码参考《重置实例密码》。
使用winscp工具将Java代码放入/data/wwwroot/default中。
image

默认tomcat是以一般www用户运行,将网站代码权限改为www,执行下面命令:
-R www.www /data/wwwroot
image

重启tomcat
image

在浏览器地址栏中输入公网 IP 地址,验证。出现 If you're seeing this... 字样,标明安装成功。
手工部署
系统平台:CentOS 7.3
Tomcat版本:Tomcat8.5.13
JDK版本:JDK1.8.0_121
安装前准备
CentOS 7.3系统默认开启了防火墙,需关闭后外部才可访问本机的80、443、8080等端口,如需做安全类配置可自行参考官方文档。
关闭防火墙:
systemctl stop firewalld.service
关闭防火墙开机自启动:
systemctl disable firewalld.service
创建一般用户www,运行tomcat:
useradd www
创建网站根目录:
mkdir -p /data/wwwroot/default
新建Tomcat测试页面:
echo Tomcat test > /data/wwwroot/default/index.jsp
chown -R www.www /data/wwwroot
image

源代码下载
wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.13/bin/apache-tomcat-8.5.13.tar.gz
wget http://mirrors.linuxeye.com/jdk/jdk-8u121-linux-x64.tar.gz
安装JDK
新建一个目录:
mkdir /usr/java
解压jdk-8u121-linux-x64.tar.gz到/usr/java
tar xzf jdk-8u121-linux-x64.tar.gz -C /usr/java
image

设置环境变量
vi /etc/profile

set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=JAVA_HOME/lib/dt.jar:JAVA_HOME/bin:$PATH
加载环境变量:
source /etc/profile
查看jdk版本:
java -version
image

安装Tomcat
解压apache-tomcat-8.5.13.tar.gz,重命名tomcat目录,设置用户权限
tar xzf apache-tomcat-8.5.13.tar.gz
mv apache-tomcat-8.5.13 /usr/local/tomcat
chown -R www.www /usr/local/tomcat
说明:
bin:目录中存放Tomcat的一些脚本文件,包含启动和关闭tomcat服务脚本。
conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
logs:存放Tomcat执行时的日志文件
配置server.xml
cd /usr/local/tomcat/conf/
mv server.xml server.xml_bk
vi server.xml 添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>

      type="org.apache.catalina.UserDatabase"
      description="User database that can be updated and saved"
      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
      pathname="conf/tomcat-users.xml" />

      protocol="HTTP/1.1"
      connectionTimeout="20000"
      redirectPort="8443"
      maxThreads="1000"
      minSpareThreads="20"
      acceptCount="1000"
      maxHttpHeaderSize="65536"
      debug="0"
      disableUploadTimeout="true"
      useBodyEncodingForURI="true"
      enableLookups="false"
      URIEncoding="UTF-8" />


<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase"/>


<Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />


设置JVM内存参数
vi /usr/local/tomcat/bin/setenv.sh
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
设置tomcat自启动脚本
下载脚本:
wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init
mv Tomcat-init /etc/init.d/tomcat
添加执行权限:
chmod +x /etc/init.d/tomcat
设置启动脚本JAVA_HOME:
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_121@' /etc/init.d/tomcat
image

设置自启动
chkconfig --add tomcat
chkconfig tomcat on
启动tomcat
service tomcat start
image

在浏览器地址栏中输入http://ip:8080,即可访问

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL Java
20:基于EL与JSTL的产品管理页-Java Web
20:基于EL与JSTL的产品管理页-Java Web
14 5
|
3天前
|
XML 存储 Java
11:Servlet中初始化参数的获取与应用-Java Web
11:Servlet中初始化参数的获取与应用-Java Web
14 3
|
5天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(三十六)-java+ selenium自动化测试-单选和多选按钮操作-番外篇(详解教程)
【4月更文挑战第28天】本文简要介绍了自动化测试的实战应用,通过一个在线问卷调查(&lt;https://www.sojump.com/m/2792226.aspx/&gt;)为例,展示了如何遍历并点击问卷中的选项。测试思路包括找到单选和多选按钮的共性以定位元素,然后使用for循环进行点击操作。代码设计方面,提供了Java+Selenium的示例代码,通过WebDriver实现自动答题。运行代码后,可以看到控制台输出和浏览器的相应动作。文章最后做了简单的小结,强调了本次实践是对之前单选多选操作的巩固。
14 0
|
2天前
|
消息中间件 缓存 Java
java基于云部署的SaaS医院云HIS系统源码 心理CT、B超 lis、电子病历
云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一系列常规功能,还能与公卫、PACS等各类外部系统融合,实现多层机构之间的融合管理。
32 12
|
2天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令包括`groupId`, `artifactId`, 和 `archetypeArtifactId`参数。生成的项目包含src/main/java和src/test/java目录,分别用于存放源代码和测试代码,还有src/main/resources用于资源文件。默认提供App.java主类和AppTest.java测试类。按照预设结构组织文件,Maven将自动管理构建过程。
|
3天前
|
设计模式 前端开发 Java
19:Web开发模式与MVC设计模式-Java Web
19:Web开发模式与MVC设计模式-Java Web
11 4
|
3天前
|
设计模式 存储 前端开发
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
18:JavaBean简介及其在表单处理与DAO设计模式中的应用-Java Web
19 4
|
3天前
|
SQL Java 数据库连接
17:数据库连接池与Servlet整合-Java Web
17:数据库连接池与Servlet整合-Java Web
13 3
|
3天前
|
存储 前端开发 搜索推荐
13:Session机制实现用户登录与注销功能-Java Web
13:Session机制实现用户登录与注销功能-Java Web
15 3
|
3天前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
9 2