当前位置: 首页 > news >正文

828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0

《828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0》
在 2024 年 9 月 14 日这个特别的日子,我着手利用华为 Flexus 云服务器搭建轻量级、高性能、前后端分离的电商系统萤火商城 2.0,开启了一段充满挑战与惊喜的旅程。 华为 Flexus 云服务器:强大的根基 华为 Flexus 云服务器以其卓越的性能和稳定性成为搭建电商系统的理想选择。其独特的架构能够高效地处理复杂的业务逻辑,为电商系统提供了坚实的底层支撑。 搭建过程:从无到有的蜕变 一、服务器环境初始化 - 操作系统选择与安装:登录华为 Flexus 云服务器控制台,选择 CentOS 操作系统进行安装。在安装过程中,仔细配置磁盘分区,为系统和后续应用预留足够的空间。例如,将系统盘划分为 50GB,数据盘根据电商系统的预期数据量预留 200GB 空间。- 基础软件安装:安装 JDK(Java Development Kit),确保服务器具备运行 Java 程序的环境。通过命令 yum install -y java-1.8.0-openjdk 进行安装。安装完成后,配置环境变量,在 /etc/profile 文件中添加 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk 和 export PATH= P A T H : PATH: PATH:JAVA_HOME/bin ,然后执行 source /etc/profile 使配置生效。 二、获取萤火商城 2.0 代码 - 从代码仓库克隆:在服务器上使用 Git 工具从萤火商城 2.0 的官方代码仓库克隆代码。执行命令 git clone [仓库地址] ,将代码下载到指定目录,比如 /home/ecmmerce/ 。- 代码检查与整理:克隆完成后,检查代码的完整性。查看是否所有的文件都已正确下载,没有缺失或损坏的文件。同时,整理代码结构,删除不必要的示例文件和临时文件。 三、部署后端服务 - 后端代码上传与解压:将后端代码压缩包通过 SFTP(Secure File Transfer Protocol)工具上传至服务器。在服务器上执行解压命令,如 unzip backend.zip -d /home/ecmmerce/backend 。- 配置文件调整:打开后端服务的配置文件,通常是一个 application.properties 或者 application.yml 文件。在文件中配置数据库连接信息,将数据库的 IP 地址、端口、用户名、密码等信息正确填写。例如: plaintext
复制
spring.datasource.url=jdbc:mysql://[数据库 IP]:3306/ecmmerce?useSSL=false&serverTimezone=UTCspring.datasource.username=[数据库用户名]spring.datasource.password=[数据库密码]  - 依赖安装与服务启动:进入后端代码目录,执行 mvn install 命令安装项目依赖。依赖安装完成后,通过 java -jar [后端服务 jar 包名称] 命令启动后端服务。启动后,查看服务日志,确保没有错误信息,服务正常启动并监听在指定端口,比如 8080 端口。 四、构建前端界面 - 前端代码编译:在前端代码目录下执行 npm install 命令安装前端依赖包。依赖安装完成后,执行 npm run build 命令进行代码编译和打包。编译过程中,注意查看是否有编译错误,如果有则根据错误提示进行修改。- 接口对接与优化:在前端代码中配置与后端服务的接口地址。例如,在 config.js 文件中设置 axios.defaults.baseURL = ‘http://[服务器 IP]:8080/api’ 。同时,对前端界面的加载性能进行优化,减少不必要的网络请求和图片资源大小。使用图片压缩工具对图片进行压缩,将大图片转换为 webp 格式以减少加载时间。- 前端服务部署:将编译好的前端静态文件部署到服务器上。可以使用 Nginx 作为静态资源服务器。安装 Nginx 后,在 /etc/nginx/conf.d/ 目录下创建一个配置文件,如 ecmmerce.conf ,内容如下: plaintext
复制
server { listen 80; server_name [服务器 IP]; location / { root /home/ecmmerce/frontend/dist; index index.html; }}  然后执行 nginx -s reload 命令重新加载 Nginx 配置。 配置优化过程:精益求精的雕琢 一、数据库优化 - 索引优化:分析电商系统中频繁查询的数据库表,如商品表、订单表等。为这些表的关键字段添加索引,例如在商品表的商品名称字段添加索引 CREATE INDEX idx_product_name ON product (product_name) 。添加索引后,通过 EXPLAIN 命令分析查询语句的执行计划,查看索引是否被正确使用。- 查询语句优化:检查后端服务中的数据库查询语句,避免使用复杂的嵌套查询和全表扫描。对于关联查询,确保关联字段都有索引。例如,将原来的复杂关联查询进行简化,通过合理的表设计和索引优化,提高查询效率。 二、服务器性能优化 - JVM 参数调整:根据服务器的硬件配置和电商系统的负载情况,调整 JVM(Java Virtual Machine)参数。在启动后端服务的命令中添加 -Xms2g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m ,分别设置堆内存的初始大小、最大大小以及元空间的大小。- 缓存机制引入:在后端服务中引入缓存机制,如使用 Redis 缓存热门商品信息和常用的配置信息。安装 Redis 后,在后端服务中集成 Redis 客户端,通过代码实现缓存的读写操作。例如,在获取商品信息的方法中,先从 Redis 中查询,如果不存在再从数据库中查询,并将查询结果存入 Redis 中,减少数据库的访问压力。 三、安全优化 - 防火墙配置:利用服务器的防火墙规则,限制对电商系统的访问来源。只允许特定的 IP 段或者合法的用户 IP 访问服务器的相关端口。例如,通过 firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port protocol=“tcp” port=“80” accept’ 命令允许 192.168.1.0/24 网段访问服务器的 80 端口。- 数据加密传输:在前端与后端服务之间的通信以及用户登录等环节,采用加密传输协议,如 HTTPS。通过配置证书和在 Nginx 中开启 HTTPS 支持,确保数据在传输过程中的安全性。 电商之光:萤火商城 2.0 上线 经过细致的搭建与优化,萤火商城 2.0 成功在华为 Flexus 云服务器上线。它以其轻量级、高性能的特点,为用户带来流畅的购物体验,为电商业务的发展奠定了坚实的基础。在未来的运营中,将持续关注系统性能,不断优化与改进,让这盏电商之灯更加璀璨。

相关文章:

828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0

《828 华为云征文|华为 Flexus 云服务器搭建萤火商城 2.0》 在 2024 年 9 月 14 日这个特别的日子,我着手利用华为 Flexus 云服务器搭建轻量级、高性能、前后端分离的电商系统萤火商城 2.0,开启了一段充满挑战与惊喜的旅程。 华为 Flexus 云服…...

centos7安装MySQL5.7.44

下载压缩文件 命令: #放到在/usr/local目录下 cd /usr/local #上传命令选择安装包 rz #解压缩包 tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz #给包重命名为mysql mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql #查看mysql目录下有什么东西 [rootlocal…...

HTTP 请求处理的完整流程到Servlet流程图

HTTP 请求处理的完整流程。从 TCP 三次握手开始,一直到 Servlet 处理请求并返回响应。 首先,让我解释一下 response.setContentType("text/html;charsetUTF-8"); 这行代码: 这行代码设置了 HTTP 响应的 Content-Type 头。它告诉浏…...

spingboot中创建简单的WebSocket服务和使用OKHttp创建socket客户端接收数据

背景 springboot 中使用okhttp3创建webSocket服务端 server1 和客户端 client1,客户端clinet1调用server1用于发送图片,创建客户端client2接收此图片. 在Spring Boot中使用OkHttp3创建WebSocket服务端和客户端,涉及到两个不同的操作&#xff…...

Redis入门2

在java中操作Redis Redis的Java客户端 Redis 的 Java 客户端很多,常用的几种: Jedis Lettuce Spring Data Redis Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装。 在 Spring 项目中,可以使用Spring Data R…...

嵌入式Linux:信号是什么?

目录 1、信号的来源 2、信号的处理方式 3、信号的异步性 4、信号编号 信号是Linux系统中用于通知进程事件发生的一种机制,可以将其视为一种软件中断。信号类似于硬件中断,能够打断进程当前的执行流程,从而实现对中断机制的一种软件层面的…...

教你搭建一个wifi贴系统

大家好,我是鲸天科技千千,大家都知道我是做小程序开发的,平时会给大家分享一些互联网相关的创业项目,感兴趣的可以跟我关注一下。 搭建一个首先就是要搭建一个自己的wifi贴小程序,我们自己的工作就是把这个小程序推广…...

C#中的LINQ语句

LINQ(Language Integrated Query)是 .NET Framework 中的一个功能强大的查询语言,它允许开发者使用类似 SQL 的语法来查询和操作数据。在 C# 中,LINQ 可以用于查询数组、列表、集合、XML 文档、关系数据库等。以下是一些常见的 LI…...

【C++】——string(模拟实现)

文章目录 string类构造string类拷贝构造string类析构string类运算符重载string类部分常用接口的模拟实现 这篇博客中构造、拷贝构造、析构、还有一些短小频繁调用的函数就不用做函数和定义分离,因为在类中,这种函数会默认是内联函数 string类构造 构造函…...

c++20 std::format 格式化说明

在标头<format>定义 ()功能很强大&#xff0c;它把字符串当成一个模板&#xff0c;通过传入的参数进行格式化&#xff0c;并且使用大括号‘{}’作为特殊字符代替‘%’。 1、基本用法 &#xff08;1&#xff09;不带编号&#xff0c;即“{}”&#xff08;2&#xff09;带…...

HTB-Unified(log4j2漏洞、MongoDb替换管理员密码)

前言 各位师傅大家好&#xff0c;我是qmx_07&#xff0c;今天给大家讲解Unified靶机 渗透过程 信息搜集 服务器开放了SSH服务&#xff0c;HTTP服务 访问网站 验证log4j2漏洞 8443端口&#xff1a;UniFi 网络 &#xff0c;访问查询 是否有Nday漏洞利用 可以观察到UniFi的版…...

每天五分钟深度学习PyTorch:不同的神经网络层设置不同的学习率

本文重点 我们前面学习了基本网络模型的搭建,获取网络模型的子结构,以及优化器optim,我们发现我们设置优化器的时候,是对整个模型设置的,也就是说整个模型的参数学习率是一样,本节课程我们学习如何给不同的网络层设置不同的学习率。主要还是通过优化器optim来实现的,本…...

【渗透测试】——DVWA靶场搭建

&#x1f4d6; 前言&#xff1a;DVWA&#xff08;Damn Vulnerable Web Application&#xff09;是一个用于安全漏洞测试的 PHP/MySQL 网络应用&#xff0c;旨在为安全专业人士提供一个合法的环境&#xff0c;以测试他们的技能和工具&#xff0c;同时帮助 Web 开发者更好地理解 …...

国内人工智能产业发展现状及对策研究

一、引言 人工智能作为新时代科技革命和产业变革的核心力量&#xff0c;正深刻改变着全球经济格局。我国政府高度重视人工智能产业发展&#xff0c;将其列为国家战略性新兴产业。在此背景下&#xff0c;本文旨在分析我国人工智能产业发展现状&#xff0c;探讨面临的挑战&#x…...

完整版订单超时自动取消功能

前几天对实习还是继续学习技术产生了抉择&#xff0c;问了一个前辈&#xff0c;他抛给我一个问题&#xff0c;怎么做15分钟订单自动取消&#xff0c;我说然后到时间之后&#xff0c;自动执行这个订单关闭业务&#xff0c;比如把锁了的库存给解开等等操作&#xff0c;然后在数据…...

算法刷题:300. 最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组、1143. 最长公共子序列

300. 最长递增子序列 1.dp定义&#xff1a;dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 2.递推公式&#xff1a;if (nums[i] > nums[j]) dp[i] max(dp[i], dp[j] 1); 注意这里不是要dp[i] 与 dp[j] 1进行比较&#xff0c;而是我们要取dp[j] 1的最大值…...

go 笔记

数据结构与 方法&#xff08;增删改查&#xff09; 安装goland,注意版本是2024.1.1&#xff0c;不是2024.2.1&#xff0c;软件下载地址也在链接中提供了 ‘go’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 在 Windows 搜索栏中输入“环境变量”&#…...

路由等保测评

1.身份鉴别 应对登录的用户进行身份标识和鉴别&#xff0c; 身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换。 可以使用“ service password-encryption"命令对存储在配置文件中的所有口令和类似数据进行加密&#xff0c; 以避免攻击者通过读取配…...

C# 反射之动态生成dll/exe

这个可能应该属于反射的高级使用范围了&#xff0c;平常在项目中使用的人估计也不是很多。由于使用反射的话会降低性能&#xff0c;比如之前用到的GetValue、SetValue等之类&#xff0c;但是使用这种方式会大大提高效率&#xff0c;在这里我只想说&#xff0c;都直接写IL指令了…...

Rust 所有权 Slices

文章目录 发现宝藏1. Slice 的基础知识1.1 什么是 Slice&#xff1f;1.2 如何创建 Slice&#xff1f; 2. 处理字符串 Slice2.1 字符串的 Slice2.2 字符串的 Unicode 和切片 3. 在函数中使用 Slice3.1 传递 Slice 给函数3.2 可变 Slice 的函数 4. 复杂示例4.1 处理多维数组的 Sl…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...