部署Java Web项目
Tomcat 作为一个开源且免费的 Java Web 服务器,常用来作为 web 开发的工具。它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,js,样式表,图片(静态内容)组成的 Java Web 应用程序。
部署方式
在阿里云服务器下部署 JAVA 提供三种部署方式:
- JAVA 镜像部署
- 一键安装包部署
- 手动部署(源码编译安装/YUM安装)
一般推荐使用镜像部署,尤其适合新手,使用更加快捷方便(阿里云的云市场提供了丰富的镜像软件,点击查看)。而安装包部署以及手动部署适合对 Linux 命令有基本了解的用户,可以满足用户个性化部署的要求。本文主要介绍镜像和手工部署的方式。
镜像部署
1.单击 JAVA 环境(CentOS7.2 Nginx Tomcat8 JDK)进入镜像详情页。
2.单击 立即购买,按提示步骤购买 ECS 实例。
3.登录 ECS 管理控制台。
4.在左边导航栏中,单击 实例,进入 ECS 实例列表页。
5.选择所购 ECS 实例所在的地域,并找到所购 ECS 实例,在 IP 地址 列获取该实例的公网 IP 地址。
6.在浏览器地址栏中输入公网 IP 地址,下载操作文档。
7.使用 putty 登录 Linux 服务器,参考《连接Linux实例》。
说明:root 密码请参考《重置实例密码》。
8.使用 winscp 工具将 Java 代码放入 /data/wwwroot/default 中。
9.默认 tomcat 是以一般 www 用户运行,将网站代码权限改为 www,执行命令:
chown -R www.www /data/wwwroot
10.重启 tomcat。
11.在浏览器地址栏中输入公网 IP 地址,完成验证。
手工部署
配置要求
- 系统平台:CentOS 7.3
- Tomcat 版本:Tomcat 8.5.13
- JDK 版本:JDK1.8.0_121
安装前准备
CentOS 7.3 系统默认开启了防火墙,需关闭后外部才可访问本机的 80、443、8080 等端口,如需做安全类配置可自行参考官方文档。
- 关闭防火墙:
systemctl stop firewalld.service
- 关闭防火墙开机自启动功能:
- 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
1.新建一个目录:
mkdir /usr/java
2.解压 jdk-8u121-linux-x64.tar.gz 到 /usr/java。
tar xzf jdk-8u121-linux-x64.tar.gz -C /usr/java
3.设置环境变量
- 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
1.解压 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 执行时的日志文件。
2.配置 server.xml。
cd /usr/local/tomcat/conf/
mv server.xml server.xml_bk
vi server.xml 添加如下内容:
vi server.xml 添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener"/>
<GlobalNamingResources>
<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" />
</GlobalNamingResources>
<Service name="Catalina">
<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>
</Service>
</Server>
3.设置 JVM 内存参数。
- 创建/usr/local/tomcat/bin/setenv.sh
- vi /usr/local/tomcat/bin/setenv.sh
- JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m - Dfile.encoding=UTF-8’
4.设置 tomcat 自启动脚本。
- 下载脚本:
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
5.设置自启动。
chkconfig --add tomcat
[chkconfig tomcat on
6.启动 tomcat。
service tomcat start
7.在浏览器地址栏中输入 http://ip:8080 进行访问。