使用ECS部署Web应用

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器 ECS,u1 2核4GB 3个月
简介: 本文介绍了通过飞天加速计划体验和使用ECS的过程与心得。

本文介绍了通过飞天加速计划体验和使用ECS的过程与心得。

环境准备

选择Ubuntu作为ECS的操作系统。

重置 root 密码

我记得创建 ECS 实例的时候没有设置 root 密码,所以在实例创建完之后还是重置一下,自己设置新的 root 密码。

1

控制台->ECS->实例,找到操作->更多操作->密码/密钥->重置实例密码即可。

新建用户

一般情况下不推荐用 root 用户登录(小心误操作),所以创建普通用户:

useradd -m ivy

-m 表示为该用户创建 home 目录。

随后输入 passwd ivy 为该用户设置密码。

有时候还是要用 root 权限的(摊手),修改 /etc/sudoers ,新加一行 ivy ALL=(ALL) ALL,这样用户 ivy 就能使用 sudo 命令了。(也可以把用户加到 admin 组,取消 /etc/sudoers 中 %admin ALL=(ALL) ALL 前面的注释。)

2

更新软件

用新的用户登录之后可以先把系统中的软件包更新一下,Ubuntu 的话两条命令就行。

# 获取最新软件库
sudo apt update
# 更新软件包
sudo apt upgrade

数据库 MySQL

我们项目用到了 MySQL,Ubuntu 可以直接通过命令行安装:

sudo apt install mysql-server

安装完后查看 MySQL 的状态:

sudo systemctl status mysql
# 正常情况下应该已经是 active 状态了,如果没运行的话可以用以下命令启动 MySQL
# sudo systemctl start mysql

MySQL 安装完成后会生成数据库的 root 用户和一个管理员 debian-sys-maint(在 /etc/mysql/debian.cnf 中可以查看密码),我直接使用 root 用户登录:

sudo mysql -u root

在默认情况下 root 用户只能在 ECS 本机上登录。

导入数据

创建数据库并且指定到新创建的数据库:

CREATE DATABASE water;
USE water

我们这个项目有原型,包含一份导入数据用的 sql 文件,直接用这个文件导入就可以了:

source 文件路径

添加 MySQL 用户

为了方便远程连接,添加一个新用户并赋予权限:

CREATE USER water-admin IDENTIFIED BY '密码';
GRANT ALL ON water.* TO `water-admin`;
FLUSH PRIVILEGES;

验证用户 water-admin 的权限:

SHOW GRANTS FOR `water-admin`;

现在可以用新的用户管理数据库 water 下的表了。

(要不要重启 MySQL 我忘了,应该是不用。)

还要放开 3306 端口才能远程连接 MySQL:

sudo ufw allow 3306

再去阿里云控制台找到安全组,放行 3306 端口。

项目运行环境

项目使用了 jdk-17,所以我也安装了对应版本的 JDK:

sudo apt install openjdk-17-jdk

验证 Java 版本:

$ java --version
openjdk 17 2021-09-14
OpenJDK Runtime Environment (build 17+35-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17+35-Ubuntu-120.04, mixed mode, sharing)

项目导出和运行

为了验证项目的实际工作情况可以先把项目打包放到 ECS 上运行,这里把项目本身和依赖打包成若干个 jar 包,通过 Java 直接在后台运行,把标准输出重定向到 /dev/null,错误信息重定向追加输出到一个文件:

sudo java -jar ~/water/water_jar/water.jar 1> /dev/null 2>> ~/error.txt &

项目程序会监听 8080 端口,所以也需要放开这个端口。

使用感受

由于之前有一年用过 ECS 作为个人博客的宿主机(那时候大部分操作都由宝塔面板代劳),我倒是没有遇到太大的困难,整个过程还是比较轻松的。希望通过之后的项目开发过程,技术力能够不断提高吧。

相关实践学习
ECS云服务器新手上路
本实验会自动创建一台ECS实例。首先,远程登陆ECS实例,并部署应用。然后,登陆管理控制台,并对这台ECS实例进行管理操作。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
云安全 监控 安全
WEB应用防火墙的作用,云服务器有这个功能吗
Web应用防火墙(Web Application Firewall,简称WAF)是一种安全产品,旨在保护Web应用程序免受网络攻击和恶意数据流量的影响。
|
Web App开发 安全 应用服务中间件
阿里云服务器下Tomcat部署Web项目
3一、阿里云服务器下部署项目 1.登录linux服务器 2.下载mysql、tomcat、jdk 并安装 3.项目打成war包,并放置在tomcat下的webapps下 二、阿里云服务器开放访问端口 1.登录阿里云服务器管理控制台 2.点击进入云服务器ECS实例列表,如图: 3.点击右侧更多按钮,配置ip安全组 4.这里配置有80端口(http默认访问端口),443端口(https默认访问端口),3306端口(mysql访问端口) 5.配置完后浏览器输入ip+项目路径就可以访问了(ps:此处tomcat有端口配置,下文会提到)。
7608 1
|
2月前
|
弹性计算 IDE 开发工具
ECS热门应用 | 轻松打造一套 Web IDE
使用ECS云服务器搭建网页IDE,增强编码便捷性,提升开发者体验。
ECS热门应用 | 轻松打造一套 Web IDE
|
11月前
|
JavaScript 网络协议 Java
将Web应用程序发布到阿里云服务器
将Web应用程序发布到阿里云服务器
243 1
|
11月前
|
弹性计算 安全 Java
关于将Web项目部署到阿里云服务器-5个步骤搞定
关于将Web项目部署到阿里云服务器-5个步骤搞定
1425 0
|
弹性计算 安全 Java
关于如何将Web项目部署到阿里云ecs服务器-5个步骤搞定
关于如何将Web项目部署到阿里云ecs服务器-5个步骤搞定
关于如何将Web项目部署到阿里云ecs服务器-5个步骤搞定
|
弹性计算 安全 Java
怎样将Web项目部署到阿里云服务器-5个步骤
怎样将Web项目部署到阿里云服务器-5个步骤
怎样将Web项目部署到阿里云服务器-5个步骤
|
存储 弹性计算 安全
阿里云服务器ECS购买、部署Web站点流程详解
讲述阿里云服务器购买细节,以及如何使用ECS服务器部署Web站点
13960 2
阿里云服务器ECS购买、部署Web站点流程详解
|
域名解析 弹性计算 数据可视化
将web项目部署到阿里云服务器
通过搭建阿里云服务器,将JavaWeb项目部署到远程服务器,实现项目的远程访问。
|
弹性计算 Ubuntu Java
阿里云ECS发布Java web心得
通过阿里云ECS发布自身的Java web项目,学习到了发布项目所需要的服务器环境配置,也对云服务有了更加深刻的了解。