Tomcat部署Java Web项目教程
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 地址,下载操作文档。
- 使用putty登录Linux服务器,参考《连接Linux实例》;忘记root密码参考《重置实例密码》。
- 使用winscp工具将Java代码放入/data/wwwroot/default中。
- 默认tomcat是以一般www用户运行,将网站代码权限改为www,执行下面命令:
- -R www.www /data/wwwroot
- 重启tomcat
- 在浏览器地址栏中输入公网 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
源代码下载
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
设置环境变量
vi /etc/profile
set java environment
export JAVA_HOME=/usr/java/jdk1.8.0_121
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
加载环境变量:
source /etc/profile
查看jdk版本:
java -version
安装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"?>
<Resource name="UserDatabase" auth="Container" 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" />
<Connector port="8080" 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" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true"> <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" /> </Host> </Engine>
设置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
设置自启动
chkconfig --add tomcat
chkconfig tomcat on
启动tomcat
service tomcat start
在浏览器地址栏中输入http://ip:8080,即可访问
一年一度的双11大促就要开始了,双11并不局限11月11日,从现在就可以先参与了。
(限新用户)云产品一折拼购直达地址》》.com(阿里云拼团)
(不限新老用户)阿里云双11优惠主会场直达地址》》aliyunh.com(阿里云双11主会场)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PHP 实现守护进程
守护进程 守护进程作为一种常驻进程服务,很常见,例如 PHP-FPM, NGINX,REDIS,都需要一个父进程来支持整个服务。但是用 PHP 编写守护进程不多见,今天就来用 PHP 来实现一下。 步骤 ● fork 子进程 ● 父进程退出 ● 设置新的会话 ● 重置文件掩码 ● 关闭标准输入输出 实现 我们对着以上的步骤来实现,在这之前需要 pcntl 和 posix 扩展,请确保安装了。 细节三者结果相同,说明了该进程即使进程组的组长,也是会话首领。 为什么需要 umask (0) 当你在 linux 调用 umask 的时候你会看到一个掩码值,这个掩码决定了你创建文件权限范围,例如本人当前机器的 umask 为 0022 文件的最大权限是 0666,而目录的最大权限是 0777, 那么当前用户的创建的目录权限就是 0755,对于当前用户而言就是 rwx-rx-rx 权限。而文件则是 0644,对于当前用户而言 rw-r-r 权限。所以如果没有重置掩码的话,那么对于目录而言就是 0755,而文件则是 0644 了。 注意 如果你在进程使用了 echo var_dump 等函数,一定...
- 下一篇
初创公司5大Java服务困局,阿里工程师如何打破?
阿里妹导读:初创公司遇到的每一个问题都可能攸关生死。创业之初更应该总结行业的常见问题,对比方案寻找最优解。阿里巴巴地图技术专家常意在技术圈摸爬滚打数年,接触了各式各样的Java服务端架构。服务端问题见得多了,也就更能分辨出各种方案的优劣。今天,常意总结了5大初创公司存在的Java服务端难题,并尝试性地给出了一些解决方案,供大家交流参考。 1.系统不是分布式 1.1.单机版系统抢单案例 // 抢取订单函数 public synchronized void grabOrder(Long orderId, Long userId) { // 获取订单信息 OrderDO order = orderDAO.get(orderId); if (Objects.isNull(order)) { throw
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Mario游戏-低调大师作品
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案