新手向: ECS搭建Java运行平台, 安装MySQL 以及Tomcat运行

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
简介: 阿里云搭建Java运行环境, 包括MySQL的安装, Tomcat的安装和运行, 以及部分问题解决, 适合新手.

需要

  1. 准备一台ECS主机, 立即购买, 阿里云服务器293/1年 或者 个人阿里云推广返还, 购买最多折上9折
  2. 系统推荐CentOS7(以下使用CentOS7作为例子)
  3. 准备好Tomcat运行包, 这里选用Apache Tomcat 8.0.53
  4. 准备好Java运行环境 这里采用Oracle Java Server JRE 1.8.0_181 可以点击此处进入官网下载历史版本的Java, 需要Oracle账号, 注册一个即可

准备阶段

  1. 准备好的服务器, 装了CentOS7.4的系统
    img
  2. 看到IP是47.104.66.241, 直接使用SSH连接过去, 这里SSH可以使用 putty Download PuTTY
    putty_view
  3. 在HostName中填写IP地址 47.104.66.241, 点击Open, 应该会弹出框
    image

点击后, 输入用户名密码, 这里使用root
_15
可以看到连接成功了

如果看到没有连接成功, 检查下阿里云的安全组
安全组
然后点击配置规则, 并检查是否有22/22的端口
image
如果没有, 按如图添加一条22的端口, 表示外网可以访问到这个端口
image
如果还是没有, 检查下服务器防火墙是否被打开
如果还是没有, 可以发工单求助专业的工作人员.

安装MySQL(该步骤可以跳过)

1. 准备

这是一台全新的服务器, 首先安装 MySQL, 在CentOS中, 可以使用MariaDB来代替MySQL, 安装很简单, 只需控制台输入

yum install mariadb mariadb-server -y

若干秒后看到

..
..
Dependency Installed:
libaio.x86_64 0:0.3.109-13.el7
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBD-MySQL.x86_64 0:4.023-6.el7
perl-DBI.x86_64 0:1.627-4.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7

Dependency Updated:
  mariadb-libs.x86_64 1:5.5.60-1.el7_5

Complete!

即安装完成

2. 运行MariaDB

systemctl start mariadb

没有任何返回, 就表示完成了, 接下来就是设置它开机自启动

systemctl enable mariadb

返回

  Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

表示加入开机启动完成

3. 配置MariaDB

  1. 刚安装好的MariaDB需要进行简单的配置
    命令行输入

    mysql_secure_installation
  2. 按图中的提示进行操作
    _3
  3. 时候登陆mysql, 发现已经安装好了
    _6
  4. 但是此时还不够, 因为默认安装的mariadb, 在存储中文时会报错, 此时要进行配置的更改
    image
  5. 修改server.cnf配置文件, 增加连接相关属性

    vi /etc/my.cnf.d/server.cnf

    光标移动到[mysqld]下方, 按下A键
    image
    此时左下角出现 -- INSERT --, 表示可以进行编辑状态
    image
    接着直接键盘输入以下配置

    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    lower_case_table_names = 1 # 这个可选, 表示不区分大小写

    然后按下Esc键, 此时左下角 -- INSERT --消失
    image
    接着按下:wq, 直接按就行, 左下角出现对应字符
    image
    回车, 保存
    然后修改client.conf文件

    vi /etc/my.cnf.d/client.cnf

    [client]中加入如下的话

    default-character-set = utf8mb4 

    image
    :wq保存退出

  6. 最后, 重启MariaDB

    systemctl restart mariadb

    重启没有任何提示就结束表示成功
    _4

    再次进入MySQL, 发现字符集已经完成更改
    _7

安装Java

  1. 从官网下载Java, 选择这个版本, 下载Tomcat
    image
  2. 若干秒后, 下载完毕
    image
  3. 使用ssh工具上传到云服务器, 这里ssh工具使用SFTP, 添加后双击进入, 并选择接受并保存
    _8
    _9
    image
  4. 将刚刚下的2个文件直接拖进来即可
    _10
    剩下, 回到服务器上, 由于刚刚上传的文件在 /root下, 进入/root

    cd /root

    ls一下发现文件已经上来了
    _11

  5. 解压这2个文件, 执行后当前目录会多出2个文件夹

    tar -zxvf jre-8u181-linux-x64.tar.gz && tar -zxvf apache-tomcat-8.0.53.tar.gz
  6. 我个人习惯将java和tomcat放在/usr/local中, 当然也可以直接放在/root中, 如果移动目录使用 mv 老文件(夹)1 [老文件(夹)2] 新文件(夹)
    image

配置Java环境

  1. 配置环境变量

    vi /etc/profile

    移动到底部, 添加如下字段, JAVA_HOME的目录就是刚刚java的目录

    export JAVA_HOME=/usr/local/jre1.8.0_181
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    image

  2. 生效配置

    source /etc/profile
  3. 检验配置
    输入java -version,如图所示表示java安装成功
    _12

运行Tomcat

  1. 刚刚Tomcat已经移动到了/usr/local中, 启动非常简单, 直接

    cd /usr/local/apache-tomcat-8.0.53/
    bin/startup.sh

    如图所示表示启动成功_13

  2. 访问这个Tomcat, 因为Tomcat使用的是8080端口, 但是阿里云安全组没有开放这个8080端口, 因此访问是无法访问的
    image
    进入刚刚的安全组, 添加一条8080的端口
    image
    再次访问
    _14
    结束了, 如果希望将Tomcat加入到开机启动, 可以在 /etc/rc.local中添加如下

    source /etc/profile
    /usr/local/apache-tomcat-8.0.53/bin/startup.sh

    然后运行下 chmod +x /etc/rc.d/rc.local

小插曲

如果遇到Tomcat启动的时候特别慢, 试着做如下修改 参考Tomcat 8熵池阻塞变慢详解

vi /usr/local/jre1.8.0_181/lib/security/java.security

找到如下的行数, 可以在vi中通过按esc, 然后按 / 再输入random搜索这一行
image
image
继续按n搜索下一个, 直到搜索到如下图的字样时结束
image
修改成如下
image

最后, 感谢您的浏览.
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
144 13
|
5月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
103 0
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
10月前
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
弹性计算 运维 Java
Java应用构建并部署ECS
如果你 使用Java进行开发 使用Jar/War的制品形式进行交付 制品最终会运行在ECS或者自有主机上 那么本文档可以帮助您实现研发流程的协同自动化。 用户诉求 一般来说,用户使用主机部署场景如下: 对源代码进行一定的质量检测,比如单元测试,代码扫描 将源代码构建成为可交付的制品,比如Jar/War 对制品进行测试环境验证 使用完成验证的制品进行线上部署 上述活动需要有不同角色的参与:开发、测试、运维。如何保证不同参与者可以使用统一的交付流程来进行协作,是云效Flow交付流水线要解决的主要问题
Java应用构建并部署ECS
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
185 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
208 1
|
3月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
161 0
|
3月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
261 16

推荐镜像

更多