阿里服务器+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编码器进行了…

IDA*与A*

我实在懒得写博客了&#xff0c;直接放上来之前讲课做的的PPT得了。 PPT_Source Code.zip 转载于:https://www.cnblogs.com/zzzc18/p/8323927.html

java 子类 父类 转换_Java子类与父类之间的类型转换

1.向上转换父类的引用变量指向子类变量时&#xff0c;子类对象向父类对象向上转换。从子类向父类的转换不需要什么限制&#xff0c;只需直接蒋子类实例赋值给父类变量即可&#xff0c;这也是Java中多态的实现机制。2.向下转换在父类变量调用子类特有的、不是从父类继承来的方法…

H.264视频编解码的代码移植和优化

基于DSP系统开发的视频编解码系统&#xff0c;国内几乎都是走的移植&#xff0c;优化的路线&#xff0c;并且移植的代码&#xff0c;都是开源的。毕竟花费大量的人力&#xff0c;物力去开发一套自己的代码&#xff0c;并不见得比一些成熟的开源代码效率更高&#xff0c;健壮性更…

SublimeText2 快捷键

SublimeText2 快捷键&#xff0c;与对应功能一览表&#xff1a; 快捷键功能ctrlshiftn打开新Sublimectrlshiftw关闭Sublime&#xff0c;关闭所有打开文件ctrlshiftt重新打开最近关闭文件ctrln新建文件ctrls保存ctrlshifts另存为ctrlf4关闭文件ctrlw关闭ctrlk, ctrlb切换侧边栏显…

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…

ffmpeg mplayer x264 代码重点详解 详细分析

ffmpeg和mplayer中求平均值得方法 1 ordinary c language level #define avg2(a,b) ((ab1)>>1) #define avg4(a,b,c,d) ((abcd2)>>2) 显而易见&#xff0e;&#xff0e;&#xff0e;&#xff0c;注意a&#xff0c;b宏表达式可能引出的副作用 2 SIMD by software…

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;他突然想出了一种他认为是终极的加密办法&#…

java栈顶元素_栈在Java类库中的实现

栈是一种后进先出的数据结构。在它之上&#xff0c;主要有三种操作&#xff1a;(1)判断栈是否为空——empty()&#xff1b;(2)在栈顶添加一个元素——push(E)&#xff1b;(3)删除并返回栈顶元素——pop()。在Java类库中&#xff0c;Stack类实现了栈&#xff0c;它继承自Vector类…

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;我纯…

017——数组(十七) asort ksort rsort arsort krsort

<?php /*** 数组 asort ksort rsort arsort krsort*///asort()对数组按值排序&#xff0c;保留键名&#xff1a; /*$arrarray(bbs_url>bbs.lantian.com,web_url>www.lantian.com,bbs_name>免费视频教程,www_name>PHP项目开发, ); asort($arr); print_r($arr);…

v4l打开video设备 ,执行VIDIOC_DQBUF,出现Resource temporarily unavailable 问题

如果你在执行VIDIOC_DQBUF突然提示以下错误&#xff1a; error: VIDIOC_DQBUF: Resource temporarily unavailable 那么很可能是你使用非阻塞方式打开设备文件的造成的。 Resource temporarily unavailable是一种EAGAIN的错误。EAGAIN是较常见的一种错误(比如用在非阻塞操作…

ubuntu下无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

sudo apt-get install git E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/)&#xff0c;是否有其他进程正占用它&#xff1f; 当执行sudo apt-get相关的命令&#xff0c;会显示上面类似的错误 参考别人的解决方法是 sudo r…

java get方法不序列化_Java中的Json序列化,不容忽视的getter

在开发的过程中&#xff0c;经常会碰到和自己预期不一样的情况。有的时候自己去研究一下还是很有趣的。这两天在写java web的时候&#xff0c;碰到了一个对象序列化的问题。问题重现public class AjaxJson {private boolean success;private String msg;private Object obj;pri…