个人用户如何手动在ECS实例上部署Java web项目?-阿里云开发者社区

开发者社区> 阿里云小秘> 正文

个人用户如何手动在ECS实例上部署Java web项目?

简介: 本篇文档介绍如何手动在ECS实例上部署Java web项目。适用于刚开始使用阿里云进行建站的个人用户。
+关注继续查看

本篇文档介绍如何手动在ECS实例上部署Java web项目。适用于刚开始使用阿里云进行建站的个人用户。

项目配置

本篇教程在示例步骤中使用了以下版本的软件。操作时,请您以实际软件版本为准。

  • 操作系统:CentOS 7.4

  • Tomcat 版本:Tomcat 8.5.34

  • JDK 版本:JDK 1.8.0_191

下载源代码

  1. 下载 Apache Tomcat

    说明 源代码版本会不断升级。您可以在https://mirrors.aliyun.com/apache/tomcat/tomcat-8/获取合适的安装包地址。

  2. 下载 JDK

    1. 下载JDK安装压缩包jdk-8u191-linux-x64 .tar.gz

      说明 直接用 wget命令在实例中下载JDK安装压缩包,在解压缩时会出错。您可以下载JDK安装压缩包,再上传到实例上。

    2. 登录 ECS管理控制台ECS 管理控制台。

    3. 在左边导航栏中,单击 实例,进入 ECS 实例列表页。

    4. 选择所购 ECS 实例所在的地域,找到已购的 ECS 实例,在 IP 地址 列获取该实例的公网 IP 地址。

    5. 在Winscp工具里用公网 IP 地址连接Linux实例,然后将下载好的JDK安装压缩包上传到Linux实例的根目录下。

安装前准备

  1. 使用管理终端连接ECS实例

  2. 参考添加安全组规则,放行所需端口入方向规则。

  3. 关闭防火墙。

    输入systemctl status firewalld命令查看当前防火墙的状态。


    154478319732172_zh-CN.png

    如果防火墙的状态参数是active,则防火墙为开启状态。如果防火墙的状态参数是inactive,则防火墙为关闭状态。如上图所示,此处防火墙为开启状态,需要运行如下命令关闭防火墙:

  • 如果您想临时关闭防火墙,输入命令systemctl stop firewalld

    说明 这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。

  • 如果您想永久关闭防火墙,输入命令systemctl disable firewalld

    说明 您可参考firewalld官网信息来决定何时开启防火墙。

关闭SELinux。

  • 如果您想临时关闭SELinux,输入命令setenforce 0

    说明 这只是暂时关闭SELinux,下次重启Linux后,SELinux依旧会开启。

  • 如果您想永久关闭SELinux,输入命令vi /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到SELINUX=enforcing这一行,按下i键进入编辑模式,修改为SELINUX=disabled,按Esc键,然后输入:wq并回车以保存并关闭SELinux配置文件。

    说明 您可参考redhat关于SELinux的官方文档来决定何时开启SELinux。

  1. 运行getenforce命令查看当前SELinux的状态。如果显示Disabled,则SELinux为关闭状态。如果显示Enforcing,则SELinux为开启状态,运行如下命令关闭SELinux:

  2. 重启系统使设置生效。

创建一般用户 www来运行Tomcat:

useradd www

创建网站根目录:

mkdir -p /data/wwwroot/default

将需要部署的Java Web项目文件WAR包上传到网站根目录下,然后将网站根目录下文件权限改为 www。本示例将直接在网站根目录下新建一个 Tomcat 测试页面:

echo Tomcat test > /data/wwwroot/default/index.jsp
chown -R www.www /data/wwwroot

安装 JDK

按以下步骤安装 JDK。

  1. 新建一个目录:

    mkdir /usr/java
  2. 解压 jdk-8u191-linux-x64.tar.gz 到/usr/java

    chmod +x jdk-8u191-linux-x64.tar.gz
    tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/java
  3. 设置环境变量:

    1. 打开/etc/profile:vi /etc/profile

    2. 按下i 键进入编辑模式。

    3. 在/etc/profile 文件中添加以下信息:

      # set java environmentexport JAVA_HOME=/usr/java/jdk1.8.0_191export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/libexport PATH=$JAVA_HOME/bin:$PATH
    4. 按下Esc键退出编辑模式,输入:wq保存并关闭文件。

  4. 加载环境变量: source /etc/profile

  5. 运行java -version命令,显示JDK版本信息时,表示 JDK 已经安装成功。
    154478319730641_zh-CN.png

安装 Apache Tomcat

  1. 依次运行以下命令解压apache-tomcat-8.5.34.tar.gz,重命名Tomcat目录,并设置用户权限。

    tar xzf apache-tomcat-8.5.34.tar.gz
    mv apache-tomcat-8.5.34 /usr/local/tomcat/
    chown -R www.www /usr/local/tomcat/

    在 /usr/local/tomcat/目录中:

  • bin:存放 Tomcat 的一些脚本文件,包含启动和关闭 Tomcat 服务脚本。

  • conf:存放 Tomcat 服务器的各种全局配置文件,其中最重要的是 server.xml 和 web.xml

  • webapps:Tomcat 的主要 Web 发布目录,默认情况下把 Web 应用文件放于此目录。

  • logs:存放 Tomcat 执行时的日志文件。

配置server.xml文件:

  1. 运行命令vi server.xml

  2. 按下i键进入编辑模式。

  3. 添加以下内容:

  1. 切换到/usr/local/tomcat/conf/ 目录:cd /usr/local/tomcat/conf/

  2. 重命名server.xml 文件:mv server.xml server.xml_bk

  3. 创建一个新的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 &quot;%r&quot; %s %b" /></Host></Engine></Service></Server>
  4. Esc 键退出编辑模式,输入:wq保存并退出编辑。

设置 JVM 内存参数:

  1. 运行命令vi /usr/local/tomcat/bin/setenv.sh, 创建/usr/local/tomcat/bin/setenv.sh。

  2. 按下i键进入编辑模式。

  3. 添加以下内容:

    JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
  4. 按下Esc 键退出编辑模式,输入:wq保存并退出文件。

设置Tomcat 自启动脚本。

  1. 下载脚本:wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init

  2. 重命名Tomcat-init:mv Tomcat-init /etc/init.d/tomcat

  3. 添加执行权限:chmod +x /etc/init.d/tomcat

  4. 运行以下命令,设置启动脚本JAVA_HOME。

    sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_191@' /etc/init.d/tomcat

设置自启动。

chkconfig --add tomcat
chkconfig tomcat on

启动Tomcat。

service tomcat start

在浏览器地址栏中输入http://公网IP:8080进行访问。出现下图所示页面时表示安装成功。
154478319712137_zh-CN.png

使用Web服务为ECS Linux实例配置网站及绑定域名。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
艾伟也谈项目管理,个人管理:从昨天的一个设计评审来谈如何与人交流你的设计思路
  昨天项目组进行了一个设计评审,主要是对OpenExpressApp的AutoUI部分进行重构,我相当于评审人。大家也可以把这个评审过程当做与人交流你的设计思路的一个过程,以下从我评审的一些要素来谈谈与人交流设计思路时需要考虑的内容,也许对大家在实际工作中的架构、设计和沟通都有所帮助。
796 0
Linux操作系统环境下jdk的配置和tomcat中web项目部署(从U盘中)
1.在自己用户下创建想要放java 的jdk和tomcat的目录,并用超级用户给与操作权限:(例为jtom目录下创建java和tomcat目录):   (1).登录root用户 :su   (2).进入我的文档目录:cd  /                                         ls  (3).在"/boot"下创建 jtom目录: mkdir  
1581 0
eclipse部署web项目至本地的tomcat但在webapps中找不到
一、发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字。   二、验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中。在内置浏览器中输入http://localhost:8080/
1284 0
C#版Websocket实例
Demo地址:www.awbeci.xyz websocket有java、nodejs、python,Php等等版本,我使用的是C#版本,服务器端是Fleck,github地址:https://github.
2236 0
《码出高效:Java 开发手册》正式发布,83行代码计划启动
可爱的Java开发者们,让你们久等了! 9月22日杭州云栖大会,众所期待的新书《码出高效:Java 开发手册》正式发布,并宣布将所有图书收益捐赠于技术公益项目。 本次新书发布,邀请了来自阿里巴巴高年级同学中间件负责人林昊、阿里巴巴研究员刘湘雯、阿里巴研究员刘国华,OpenJDK社区Committer杨晓峰,全栈视障工程师蔡勇斌,电子工业出版社博文视点出版公司总经理郭立以及两位图书作者杨冠宝(孤尽)和高海慧(鸣莎)重磅大咖联合发布,并宣布将图书所有收益均捐赠于技术公益项目“83行代码计划”,第一个“83行代码计划”行动,将围绕着帮助盲人工程师,开发更多无障碍化产品,让盲人上网更便捷。
11604 0
艾伟也谈项目管理,个人管理:写书之前应该回答的几个问题
  我在06年和一个同事写过一本Delphi入门的示例书籍Delphi数据库通用模块及典型系统开发,当时体会到了写书不像想象中的简单,基本上业余时间都没了,所以我之后就不想出书了,其中更重要的一个原因是,我还没有找到一本真正想与大家分享并且自己能写出来的书籍。
1039 0
+关注
阿里云小秘
从2005年起帮助客户搭建网站,有十多年网站搭建经验,长期使用并熟悉阿里云服务器、域名、云虚拟主机、云企业邮箱等产品。
289
文章
16
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载