阶段六:博客系统部署上线实施

1. 博客系统基本介绍

目前,公司Java开发团队完成了一个博客系统的开发任务,目前需要运维工程师完成对该项目的上线任务,要求将该项目部署上线到阿里云生产服务器中,完成最终上线,并对外开放使用

以下为页面系统界面:

image

首先,要先了解该项目的整体软件架构组成部分,通过软件架构,我们能了解在本次运维部署任务中,主要承担那些具体的工作内容:

该项目的软件架构组成:
    开发语言: Java1.8
    数据库服务: MySQL
    WEB服务器: Tomcat
    反向代理服务器: Nginx

关于数据库说明:
    1- 需要在数据库中,准备forum-java数据库
    2- 项目提供了基础数据集:scheam.sql  要求在部署的时候导入 才可正常使用系统
    3- 请注意修改项目本身数据库的相关信息,避免无法连接

注意: 此信息一般会有开发人员提供,或可与开发人员沟通配合上线

注意事项:

2. 博客系统项目架构流程

Web服务器是一种软件或硬件,负责接收用户的HTTP请求并返回相应的网页内容(HTML、CSS、JavaScript等)到浏览器。它是客户端(浏览器)和网站资源之间的桥梁,提供网站内容的访问服务。

image
Nginx: Nginx(发音为“Engine-X”)是一款高性能的Web服务器和反向代理服务器, 在此处主要提供二个功能:
    1- 高性能能力: Nginx可以处理5w ~ 10w个并发连接
    2- 请求转发能力(反向代理): 通过Nginx将访问目标服务的请求转发给WEB服务器,由WEB服务器处理具体的请求资源

扩展说明: 负载能力  
    可以将后台WEB服务器部署多台,此时可以由Nginx均衡的请求分散到多个节点上,实现负载

WEB服务器: 
    只有通过WEB服务器,才能够将WEB项目发布出去,让其他人可以访问,而对于Java web程序来说,主要使用WEB服务器软件为Tomcat

数据库: 用于存储项目的各项数据,例如 用户的信息、博客的数据等,本次项目开发团队采用的是MySQL

注意事项:

3. 部署组件及各节点说明

本次项目主要涉及的组件, 包括Java、Mysql、tomcat、nginx等,具体规划如下表:

服务器节点JavaMYSQLTomcatNginx
node1
node2

部署的先后顺序: 服务器准备(二台) ->> Java ->> MYSQL ->> Tomcat ->> Nginx

4. 部署工作实施

4.1 准备二台阿里云服务器

资源要求: 2核 2GB内存 40GB硬盘

image
image
image
image
image
image

注意: 需要保证账户的费用大于100元,否则无法提交订单

image
image

如何验证服务器是满足要求:

image
image
image
image

通过远程连接工具,连接二个对应的阿里云的ECS服务器:

image

修改主机名分别为node1和node2

hostnamectl set-hostname node1.itcast.cn

hostnamectl set-hostname node1.itcast.cn

注意事项:

分别在node1和node2的/etc/hosts文件添加以下内容

172.29.0.30 node1 node1.itcast.cn
172.29.0.31 node2 node2.itcast.cn

注意: 前面得IP地址, 需要填写ECS服务器的公网对应的私网(内网)IP地址

配置完成后, 可以使用ping命令测试不同别名是否对应了对应的IP地址, 并监测是否可以互通

注意事项:

4.2 部署JDK环境

Java是美国sun公司在1995年推出的一门计算机高级编程语言。2009年sun公司被Oracle公司收购

image

Java之父:詹姆斯-高斯林

image

那么Java能做什么呢?

作为运维开发人员, 就要把各种Java开发的应用部署到服务器中, 未来我们在部署各种软件,大多数也跟Java有关系

---

目录规划说明:

软件安装目录统一放置到/opt/目录下 【常规安装目录】
安装包统一放置目录: /export/software目录下 【此目录没有太强制要求】

注意事项:

mkdir -p /export/software/

命令作用:

执行结果:

关键参数:

注意事项:


**注意事项:**

注意事项:


**注意事项:**




![](/assets/feishu-images/71ff7d7456103df27f7a7ced.png)

注意事项:


**注意事项:**




![](/assets/feishu-images/88f46608794fca4fa20b3f74.png)



  ![](/assets/feishu-images/475c2ad2d74540f17c86942f.png)

注意事项:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `https://mirrors.huaweicloud.com/apache/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz` | 【普通】 | 目标 URL `https://mirrors.huaweicloud.com/apache/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz`,命令会访问这个地址或从这里下载内容。 |

**注意事项:**
image

tomcat目录介绍:

image

./startup.sh


**注意事项:**

可以通过进程,查看是否有Tomcat进程信息:

注意事项:


**注意事项:**

  
  
  验证防火墙规则

注意事项:


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `--zone=public` | 【普通】 | 长参数 `--zone` 的值是 `public`,用于精确控制命令行为。 |
| `--add-port=8080/tcp` | 【普通】 | 长参数 `--add-port` 的值是 `8080/tcp`,用于精确控制命令行为。 |

**注意事项:**
image
image

./shutdown.sh ./startup.sh


**注意事项:**

  用户名:superadmin@developers.pub
  密码:admin123456

注意事项:


**注意事项:**





![](/assets/feishu-images/d834b4d60642e72bd776a624.png)

注意事项:


**注意事项:**

  
  或者:
  
  

注意事项:

image

如何配置呢?


**命令拆解:**

| 命令部分 | 重要程度 | 详细解释 |
|---|---|---|
| `--zone=public` | 【普通】 | 长参数 `--zone` 的值是 `public`,用于精确控制命令行为。 |
| `--add-service=http` | 【普通】 | 长参数 `--add-service` 的值是 `http`,用于精确控制命令行为。 |
| `--add-service=https` | 【普通】 | 长参数 `--add-service` 的值是 `https`,用于精确控制命令行为。 |
| `--add-port=80/tcp` | 【普通】 | 长参数 `--add-port` 的值是 `80/tcp`,用于精确控制命令行为。 |
| `--add-port=443/tcp` | 【普通】 | 长参数 `--add-port` 的值是 `443/tcp`,用于精确控制命令行为。 |

**注意事项:**
image

两种思路:


**注意事项:**

原因说明:

注意事项:

本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。