阿里服务器+Centos7.4+Tomcat+JDK部署

适用对象

本文档介绍如何使用一台基本配置的云服务器 ECS 实例部署 Java web 项目。适用于刚开始使用阿里云进行建站的个人用户。

配置要求

这里列出的软件版本仅代表写作本文档使用的版本。操作时,请您以实际软件版本为准。

  • 操作系统:CentOS 7.4
  • Tomcat 版本:Tomcat 8.5.23
  • JDK 版本:JDK 1.8.0_141

安装前准备

  • CentOS 7.4 系统默认开启了防火墙。您可以关闭防火墙,也可以参考官网文档在防火墙里添加规则,放行 80、443 或 8080 端口入方向规则。

    • 关闭防火墙:

      1. systemctl stop firewalld.service
    • 关闭防火墙开机自启动功能:

      1. systemctl disable firewalld.service
  • 创建一般用户 www,运行 tomcat:

    1. useradd www
  • 在安全组中放行 8080 端口。具体操作,请参考 添加安全组规则。

  • 创建网站根目录:

    1. mkdir -p /data/wwwroot/default
  • 新建 Tomcat 测试页面:

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

下载源代码

  1. wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

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

  1. wget http://mirrors.linuxeye.com/jdk/jdk-8u141-linux-x64.tar.gz

说明:源代码版本会不断升级。您可以在 http://mirrors.linuxeye.com/jdk/ 目录下获取合适的安装包地址。

安装 JDK

按以下步骤安装 JDK。

  1. 新建一个目录:

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

    1. tar xzf jdk-8u141-linux-x64.tar.gz -C /usr/java
  3. 设置环境变量:

    1. 编辑 /etc/profile:vi /etc/profile

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

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

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

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

  5. 查看 jdk 版本。当出现 jdk 版本信息时,表示 JDK 已经安装成功。

    1. java -version
    1. java version "1.8.0_141"
    2. Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
    3. Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

安装 Tomcat

按以下步骤安装 Tomcat。

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

    1. tar xzf apache-tomcat-8.5.23.tar.gz
    2. mv apache-tomcat-8.5.23 /usr/local/tomcat/
    3. 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 执行时的日志文件。
  2. 配置 server.xml 文件:

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

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

    3. 创建一个新的 server.xml 文件:

      1. 运行命令 vi server.xml

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

      3. 添加以下内容:

        1. <?xml version="1.0" encoding="UTF-8"?>
        2. <Server port="8006" shutdown="SHUTDOWN">
        3. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
        4. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
        5. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
        6. <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
        7. <GlobalNamingResources>
        8. <Resource name="UserDatabase" auth="Container"
        9. type="org.apache.catalina.UserDatabase"
        10. description="User database that can be updated and saved"
        11. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
        12. pathname="conf/tomcat-users.xml"/>
        13. </GlobalNamingResources>
        14. <Service name="Catalina">
        15. <Connector port="8080"
        16. protocol="HTTP/1.1"
        17. connectionTimeout="20000"
        18. redirectPort="8443"
        19. maxThreads="1000"
        20. minSpareThreads="20"
        21. acceptCount="1000"
        22. maxHttpHeaderSize="65536"
        23. debug="0"
        24. disableUploadTimeout="true"
        25. useBodyEncodingForURI="true"
        26. enableLookups="false"
        27. URIEncoding="UTF-8"/>
        28. <Engine name="Catalina" defaultHost="localhost">
        29. <Realm className="org.apache.catalina.realm.LockOutRealm">
        30. <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
        31. resourceName="UserDatabase"/>
        32. </Realm>
        33. <Host name="localhost" appBase="/data/wwwroot/default" unpackWARs="true" autoDeploy="true">
        34. <Context path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true"/>
        35. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        36. prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        37. </Host>
        38. </Engine>
        39. </Service>
        40. </Server>
  3. 设置 JVM 内存参数:

    1. 运行命令 vi /usr/local/tomcat/bin/setenv.sh, 创建 /usr/local/tomcat/bin/setenv.sh。
    2. 按 i 键进入编辑模式。
    3. 添加以下内容:

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

  4. 设置 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_141@' /etc/init.d/tomcat

  5. 设置自启动。

    1. chkconfig --add tomcat
    2. chkconfig tomcat on
  6. 启动 Tomcat。

    1. service tomcat start
  7. 在浏览器地址栏中输入 http://ip:8080 进行访问。出现如图所示页面时表示安装成功。

    1

转载于:https://www.cnblogs.com/lijiasnong/p/8322038.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php输出mysqli查询出来的结果

php连接mysql我有文章已经写过了&#xff0c;这篇文章主要是介绍从mysql中查询出结果之后怎么输出的问题。 一&#xff1a;mysqli_fetch_row(); 查询结果&#xff1a;array([0]>小王) 查询&#xff1a; [php] view plaincopy while ($row mysqli_fetch_assoc($result)) …

rhel mysql安装_RHEL6.4下MySQL安装方法及简单配置

1.MySQL安装方法简介 1.rpm包yum安装 2.通用二进制包安装 3.源码编译安装 注意&#xff1a;实验所采用的系统平台为&#xff1a;RHEL6.4 2.rpm ins首页 → 数据库技术背景&#xff1a;阅读新闻RHEL6.4下MySQL安装方法及简单配置[日期&#xff1a;2014-04-08]来源&#xff1a;Li…

H.264算法的DSP移植与优化

摘要&#xff1a;在TMS320DM643平台上实现H&#xff0e;264基档次编码器的移植与优化显得格外实用和必要。基于对DSP平台的结构特性和H&#xff0e;264的计算复杂度分析&#xff0c;主要从核心算法、数据传输和存储器&#xff0f;Cache使用几方面对H&#xff0e;264编码器进行了…

java-linux-eclipse配置

转载于:https://www.cnblogs.com/sheying/p/8327517.html

n皇后问题java_经典n皇后问题java代码实现

问题描述&#xff1a;在n*n的二维表格&#xff0c;把n个皇后在表格上&#xff0c;要求同一行、同一列或同一斜线上不能有2个以上的皇后。例如八皇后有92种解决方案&#xff0c;五皇后有10种解决方案。public class TestQueen {int n; //皇后的个数int num 0; // 记录方案数int…

nagios监控服务器的搭建

nagios 概述&#xff1a; 开源的免费的网络监视工具。 监控&#xff1a; windows, Linux,Unix,交换机和路由器。报警。 Nagios是插件式的结构&#xff0c;它本身没有任何监控功能&#xff0c;所有的监控都是通过插件进行的&#xff0c;因此其是高度模块化和富于弹性的。Nagios…

BZOJ1031: [JSOI2007]字符加密Cipher

1031: [JSOI2007]字符加密Cipher Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 7882 Solved: 3425[Submit][Status][Discuss]Description 喜欢钻研问题的JS同学&#xff0c;最近又迷上了对加密方法的思考。一天&#xff0c;他突然想出了一种他认为是终极的加密办法&#…

LoadRunner远程监测Centos服务性能配置过程

由于公司的需要&#xff0c;经过一段时间的探索&#xff0c;参考了很多业内人士的文档&#xff0c;终于完成LoadRunner远程监测centos服务器的配置过程。 首先监测所需要服务是否存&#xff0c;如果存在就不必要安装&#xff0c;如果不存在&#xff0c;需要安装对应的服务。 监…

day 68 增删改查 语法

1 普通正则 2 分组正则 url(r/blog/(\d)/(\d),views.blog) blog(request,arq1,arq2) 按照位置传参 3 分组命名 url(r/blog/(?P<year>\d)/(?P<month>\d),views.blog) blog(request,year,month) 4 用name 指定别名 url(r/blog/(?P<year>\d)/(?P…

编译器入门 语法分析器 java_从零开始写个编译器吧 - Parser 语法分析器

Parser(语法分析器)的编写相对于 Tokenizer (词法分析器)要复杂得多&#xff0c;因此&#xff0c;在编写之前可能也会铺垫得更多一些。当然&#xff0c;本系列旨在“写出”一个编译器&#xff0c;所以理论方面只会简单介绍 tao 语言所涉及的部分。之前的几章中&#xff0c;我纯…

Spring-data-jpa常用方法

转载于:https://www.cnblogs.com/summary-2017/p/7904926.html

Java线程生命周期

当你需要使用Java线程在多线程环境下进行编程时&#xff0c;理解Java的线程周期与线程的状态是非常重要的。通过实现Runnale接口或者继承Thread类&#xff0c;我们可以创建线程&#xff0c;为了启动一个线程&#xff0c;我们需要创建一个Thread对象&#xff0c;并且调用它的sta…

转,JSON解析2

JSON 使用讲解 这篇文章讲解了&#xff0c;JSON的介绍以及使用GSON解析。今天&#xff0c;我们就在Android项目中使用两种方式解析JSON数据。如果你对JSON&#xff0c;还不熟悉&#xff0c;那么请看JSON 使用讲解。 一.搭建服务以及制造JSON数据。 1.服务器选择的Tomcat&#x…

js顺序加载

2019独角兽企业重金招聘Python工程师标准>>> js想要顺序加载&#xff0c;分开js代码块&#xff0c;jsp页面在加载的时候&#xff0c;是顺序加载&#xff0c;遇到<script></script>代码块&#xff0c;先加载完成&#xff0c;然后继续往下&#xff0c;遇到…

2-05 使用固态存储SSD或PCIe卡

在大量并发的情况下&#xff0c;才能体现固态磁盘的吞吐量&#xff0c;在大并发下提供良好随机io的性能&#xff0c;这正是关系型数据库所需要的&#xff0c;相对应机械磁盘&#xff0c;固态磁盘更容易损坏&#xff08;第三点是固态磁盘的缺点&#xff09;&#xff0c;由于固态…

面试问题汇总 精选 分析 解答 职业规划 part 3

《剑指Offer——名企面试官精讲典型编程题》已经出版 非常感谢博客上的读者&#xff0c;是大家的关心、支持和鼓励让我有信心写完这本书并最终出版发行&#xff08; china-pub互动网、 亚马逊卓越网、 淘宝网、 京东网、 当当网上有售&#xff09;。网友们的鼓励让我在 博客上的…

java 分布式rpc框架_分布式RPC框架Apache Dubbo(一)

4 Dubbo快速入门Dubbo作为一个RPC框架&#xff0c;其最核心的功能就是要实现跨网络的远程调用。本小节就是要创建两个应用&#xff0c;一个作为服务的提供方&#xff0c;一个作为服务的消费方。通过Dubbo来实现服务消费方远程调用服务提供方的方法。4.1 服务提供方开发开发步骤…

轻松获知数据库事务

标题索引事务作用事务流程隔离级别实例验证事务作用事务是确保数据库系统数据的完整性的功能&#xff0c;如现在互联网行业支付业务&#xff0c;不管服务器出于什么原因异常中断&#xff0c;客户要么支付成功要么支付不成功&#xff0c;支付成功数据库金额即会发生变化&#xf…

Safari支不支持HTML5录音? 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。...

先放结论&#xff1a;Safari支不支持HTML5录音&#xff1f; ——据我调查&#xff0c;不支持。 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。 可是当使用Can I use查看兼容性的时候&#xff0c;我发现 不过这个是有历史原因的&#xff0c;我记得RTC是…

面试问题汇总 精选 分析 解答 职业规划 part 4

程序员做业余项目、记笔记和写博客的重要性【经典】 编程是一种创造过程&#xff0c;业余项目允许程序员在没有截止日期或各种限制的条件下&#xff0c;以探索形式编程。业余项目之所以重要&#xff0c;有以下几个原因。 探索新技术 每天都会不断有新技术出现&#xff0c;而…