华为云云耀云服务器L实例评测开展一站式服务部署

在这里插入图片描述

嗨,您好 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者
推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代
文章所在专栏:Linux
我当前正在学习微服务领域、云原生领域、消息中间件等架构、原理知识
向我询问任何您想要的东西,ID:vnjohn
觉得博主文章写的还 OK,能够帮助到您的,感谢三连支持博客
代词: vnjohn
⚡ 有趣的事实:音乐、跑步、电影、游戏

目录

  • 华为云控制台
  • 初始化服务器私密信息
  • 宝塔面板
    • 初始化宝塔面板
    • 基础环境安装
      • Java
    • 核心软件配置以及安装
      • MySQL
      • Nginx
      • Redis
    • 后端服务部署
  • 总结

华为云控制台

https://www.huaweicloud.com/product/hecs-light.html

华为云云耀云服务器L实例评测开展一站式服务部署_第1张图片

在未购买过服务器实例时,点击购买渠道进行「服务器选购」
在购买过服务器实例情况下,进入控制台,如下图

华为云云耀云服务器L实例评测开展一站式服务部署_第2张图片

初始化服务器私密信息

华为云云耀云服务器L实例评测开展一站式服务部署_第3张图片

在购买服务器实例以后,密码不会保存起来,可以分以下几步来进行操作

1、重新设置一个新的服务器登录密码,重置密码入口在下侧的远程登录入口「要求服务器实例是在运行中」
2、配置安全组需要放行的端口,比如:数据库(3306)、SSHD(22/24)、后端/前端服务访问端口(80/443)、Redis 缓存(6379) 等等

华为云云耀云服务器L实例评测开展一站式服务部署_第4张图片

将所有要放行的端口单独写入到一个安全组中或将所有的 IP 白名单放入到一个安全组中,一台服务器实例可以支持配置多组安全组,以作到运维、开发不同角色的区分,用于追溯 IP 所属对象

宝塔面板

在本章节中,我们使用宝塔面板来管理 MySQL、Nginx、Redis 服务,首先要构建出来一个基于宝塔面板的镜像服务实例 > 轻量级服务器

在这里插入图片描述

初始化宝塔面板

1、获取宝塔管理页面的管理员用户名及密码

sudo cat /credentials/password.txt

会在控制台输出账号、密码

2、登录好宝塔账户/密码以后,安装基础组合软件后再进行管理

华为云云耀云服务器L实例评测开展一站式服务部署_第5张图片

3、安装完成,在软件面板 > 已安装选项进行查看,如下:

华为云云耀云服务器L实例评测开展一站式服务部署_第6张图片

软件安装完成以后,等先将所有的额外软件安装完成以后,再到这些对应的配置项进行相关的一些配置,以便来完成整个服务的一站式部署。

基础环境安装

Java

下载地址:https://www.oracle.com/cn/java/technologies/downloads/

以安装 1.8 为例,区分 Linux 内核版本,下载不同的包文件

通过:uname -srm 命令查看内核版本

内核版本:arm64,下载包文件:jdk-8u381-linux-aarch64.tar.gz
内核版本:x86_64,下载包文件:jdk-8u381-linux-i586.tar.gz 或 jdk-8u381-linux-x64.tar.gz

1、将下载的 tar.gz 包通过 SFTP 放入到 /opt 目录下

2、解压对应的包文件,tar -zxvf Xxx

root@hcss-ecs-324d:/opt# tar -zxvf jdk-8u381-linux-x64.tar.gz

3、调整 jdk 文件目录名称

root@hcss-ecs-324d:/opt# mv jdk1.8.0_381/ jdk8

4、将 jdk 文件目录移动到 /usr/local 下

root@hcss-ecs-324d:/opt# mv jdk8/ /usr/local/

5、编辑核心配置文件 /etc/profile,追加以下内容到文件末尾中

#按i进入编辑,在profile文件尾部添加如下内容
#JDK配置
export JAVA_HOME=/usr/local/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
#Esc --> :wq保存并退出
#通过命令让profile文件立即生效

6、刷新核心配置文件,使配置能够生效

source /etc/profile

7、通过 java 命令检测是否在 Linux 安装 jdk 成功,能够输出内容说明配置已经生效

java -version

核心软件配置以及安装

在基础环境中,将要部署的 Java 环境进行了安装,接下来,就对 MySQL、Nginx 这一块的内容进行一些简单的配置

MySQL

在左侧菜单栏,点击数据库,进行数据库的添加,如下:

华为云云耀云服务器L实例评测开展一站式服务部署_第7张图片

添加数据库时,会让我们填写数据库名、用户名、密码、访问权限这些信息,访问权限这块分为三种

本地服务器:当前创建的数据库只能在当前服务器内部进行访问,其他的服务都无法访问进来
所有人(不安全):类似于 ‘%’,所有的外部服务,都可以直接访问这台数据库,不限制 IP,一般在测试环境我们都会开启允许所有人
指定 IP:只有配置在文本框内的 IP 列表才可以进行该数据库的访问,其他 IP 都会被阻挡在外部无法直接访问,在生产环境为了保证数据的安全性,我们会进行这次方式的设置

华为云云耀云服务器L实例评测开展一站式服务部署_第8张图片

数据库添加完成以后,我们通过 Dbeaver、Navicat 数据库工具进行连接,然后将对应的表结构 SQL 导入到该数据库中,程序才能正常读取到数据库结构信息进行数据的增删改查操作

在这里插入图片描述

管理:通过 php admin 工具管理数据库的一些核心配置信息,譬如,当数据库发生死锁时,通过该工具访问 MySQL 自带的数据库表才能进行 Kill 掉释放思索
权限:调整上面说到的 本地服务器、所有人(不安全)、指定 IP 的选项
工具:针对该数据库的表信息进行预览和调整对应的表信息
改密:调整对应的数据库用户名密码

Nginx

结合数据库软件已部署完成,后端服务打好包以后,再调整一下 Nginx 代理的配置,就能完成在服务器上的服务一站式部署了

华为云云耀云服务器L实例评测开展一站式服务部署_第9张图片

结合上图,引入了该目录下所有的代理配置,我们将单独要部署的服务放入以下文件中,以便我们的服务能够通过反向代理的方式完成部署。

/www/server/panel/vhost/nginx/*.conf

创建一个新的文件:server_demo.conf,文件内容如下:

# upstream 模块必须配置在 http 模块内
# 在此处可以配置多个后端服务,来完成同一个服务的集群化服务代理访问
upstream backend {
        server 127.0.0.1:8088;
}
server {
        listen 80;
        server_name localhost;

        location /admin {
            proxy_pass http://backend;
        }
        location / {
            root /usr/local/dist;
            try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
            index  index.html index.htm;
        }
        # 对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
        # 因此需要rewrite到index.html中,然后交给路由在处理请求资源
        location @router {
            rewrite ^.*$ /index.html last;
        }
}

当配置文件变更或新增配置文件以后,一般我们都会通过命令来变更,如下:

安全退出:sbin/nginx -s quit
重载配置:sbin/nginx -s
重启:sbin/nginx restart

华为云云耀云服务器L实例评测开展一站式服务部署_第10张图片

Redis

我们之前在初始化宝塔面板软件时,未将 Redis 服务安装在内,此处来学习如何运用宝塔来安装新的 Redis 软件

华为云云耀云服务器L实例评测开展一站式服务部署_第11张图片
第一种:点击安装,就是在本机上安装一个新的 Redis 服务
第二种:添加远程服务器就是以宝塔作为一个 Redis 命令行桌面客户端,类似 Redis DeskTop

我们以第一种的方式安装一个新的 Redis 服务器,选择好版本以后,让他自动进行安装

华为云云耀云服务器L实例评测开展一站式服务部署_第12张图片

在 Redis 控制台,可以以视图的方式向 Redis 中插入缓存信息,非常的方便!!

华为云云耀云服务器L实例评测开展一站式服务部署_第13张图片

后端服务部署

新建一个空的项目,引入以下配置来完成服务的部署案例

1、maven 配置

<properties>
     <maven.compiler.source>8maven.compiler.source>
     <maven.compiler.target>8maven.compiler.target>
     <spring-boot.version>2.6.7spring-boot.version>
 properties>

 <dependencies>
     <dependency>
         <groupId>org.springframework.bootgroupId>
         <artifactId>spring-boot-starter-webartifactId>
         <version>${spring-boot.version}version>
     dependency>
 dependencies>

 <build>
     <plugins>
         <plugin>
             <groupId>org.springframework.bootgroupId>
             <artifactId>spring-boot-maven-pluginartifactId>
             <version>${spring-boot.version}version>
             <executions>
                 <execution>
                     <goals>
                         <goal>repackagegoal>
                     goals>
                 execution>
             executions>
         plugin>
     plugins>
 build>

2、应用配置文件,如下:

server:
  servlet:
    context-path: /admin
  port: 8088

3、测试接口控制器,如下:

/**
 * @author vnjohn
 * @since 2023/10/5
 */
@RestController
public class HelloController {

    @GetMapping("/say_hello")
    public String sayHello() {
        return "Hello World!!";
    }
}

4、在 maven 窗口执行 maven 命令,mvn clean install package 打好包以后,通过 SFTP 方式将 jar 文件传入到服务器目录上

5、在服务器通过脚本,运行命令:java -jar server-demo-1.0-SNAPSHOT.jar &

6、测试通过宝塔面板部署的软件服务以及后端服务部署以后,整个流程是否能够正常访问

http://公网 IP/admin/say_hello

华为云云耀云服务器L实例评测开展一站式服务部署_第14张图片

总结

该篇通过华为云云耀服务器 L 实例结合宝塔面板,将整个服务部署流程跑通,安装基础环境 Java 搭建,核心软件:MySQL、Redis、Nginx 部署的搭建以及配置,相信这个会对大部分的后端程序猿提供很大的帮助,一般在工作中很难接触到这部分的工作,个人作为课外学习以及自身的总结,借助这个机会来完成整体一站式服务部署的教程,希望能够帮助到大家!!有任何的问题在底下留言或私信

愿你我都能够在寒冬中相互取暖,互相成长,只有不断积累、沉淀自己,后面有机会自然能破冰而行!

博文放在 Redis 专栏里,欢迎订阅,会持续更新!

如果觉得博文不错,关注我 vnjohn,后续会有更多实战、源码、架构干货分享!

推荐专栏:Spring、MySQL,订阅一波不再迷路

大家的「关注❤️ + 点赞 + 收藏⭐」就是我创作的最大动力!谢谢大家的支持,我们下文见!

你可能感兴趣的:(Linux,华为,服务器,运维)