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

笔上云世界微服务版

目录

一、项目背景

二、项目功能

一功能介绍

三、环境准备

• 需要开发的端口

• Mysql

导入数据库

​编辑

• Redis

​编辑

• RabbitMQ

​编辑

在创建blog虚拟主机(方法如下)

• Nacos

• Nginx

四、前端部署

五、后端部署

六、测试计划操作

一功能测试

二 自动化测试

三 项目一些演示图


一、项目背景


笔上云世界采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,同时将其部署到云服务器上。前端主要有四个页面构成:登录页、列表页、详情页以及编辑页,以上模拟实现了最简单的大众博客系统。其结合后端实现了以下的主要功能:登录、编辑博客、注销、删除博客、以及强制登录等功能。
但是该项目没有设计用户注册功能,只能提前在数据库中存储用户信息后经过校验登录;并且用户头像不能自己设定,在进行前端页面的书写过程中已经将头像的图片写为静态了;而用户信息中的文章数以及分类数也没有在后端中具体实现,直接在前端页面中写为了静态的。
该个人博客系统可以实现个人用户简单的博客记录,时间、标题、内容以及发布者等都可以进行详细地查看,该项目是在springboot的基础上进行项目迁移成spring cloud而形成的。

二、项目功能

一功能介绍


该笔上云世界主要实现了以下几个功能:登录,写博客以及用户管理等功能。

登录功能:用户名以及密码已经在后端写入了数据库,没有实现账户注册功能,即:用户名以及密码是已经存在的。登录成功后就会跳转到列表页面。在右上角存在主页和写博客两个按钮,但是在未登录情况下按下均只会跳转到登录页面。
列表页面:可以在列表页查看有限数量的博客简介,其包括博客标题、发布时间以及内容概要。在左侧可以看到登录的用户以及文章数、分类数等的模块。在右上角有主页、写博客和注销三个功能:主页即列表页,写博客即博客编辑页,注销即注销用户,回到登录页面。
详情页面:在列表页面点击“查看全文”按钮就会跳转到详情页,此时就可以看到该篇博客的完整内容。在右上角同样有主页、写博客、删除和注销四个功能:删除即删除该篇博客,删除之后就会跳转到列表页面,该篇博客就被成功删除。
写博客:在登录之后的任意界面点击“写博客”之后就会进入博客编辑页面,此时就可以进行博客的编写,点击“发布文章”后就可以成功发布文章,此时就会跳转到列表页。

三、环境准备

• 需要开发的端口

• Mysql

yum -y install unzipyum -y install lrzszyum -y install mysql80-community-release-el7-11.noarch.rpmyum  -y install mysql-community-serversystemctl start mysqldgrep "password" /var/log/mysqld.log
2024-01-29T10:43:55.523053Z 6 [Note] [MY-010454] [Server] A temporary password 
&hpkaqO:c4oK   #默认⽣成的密码#登录数据库
mysql -uroot -p#修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

导入数据库

-- 用户服务数据库
create database if not exists spring_cloud_user charset utf8mb4;use spring_cloud_user;
-- 用户表
DROP TABLE IF EXISTS spring_cloud_user.user_info;
CREATE TABLE spring_cloud_user.user_info(`id` INT NOT NULL AUTO_INCREMENT,`user_name` VARCHAR ( 128 ) NOT NULL,`password` VARCHAR ( 128 ) NOT NULL,`github_url` VARCHAR ( 128 ) NULL,`email` VARCHAR ( 128 ) NULL,`delete_flag` TINYINT ( 4 ) NULL DEFAULT 0,`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now() ON UPDATE now(),PRIMARY KEY ( id ),
UNIQUE INDEX user_name_UNIQUE (user_name ASC )) ENGINE = INNODB DEFAULT CHARACTER 
SET = utf8mb4 COMMENT = '用户表';-- 新增用户信息
insert into spring_cloud_user.user_info (user_name, password,github_url)values("zhangsan","11eb2423c6064044aaa1df7ed6156331d1244f113ad54a982cb0215e0af22b68","https://gitee.com/ss190720173");
insert into spring_cloud_user.user_info (user_name, password,github_url)values("lisi","25ce8e32469c4bdb9868c182b6164d3006de2cb47383384df8279e7cfc251d9d","https://gitee.com/ss190720173");-- 博客服务数据库
create database if not exists spring_cloud_blog charset utf8mb4;use spring_cloud_blog;-- 博客表
drop table if exists spring_cloud_blog.blog_info;
CREATE TABLE spring_cloud_blog.blog_info (`id` INT NOT NULL AUTO_INCREMENT,`title` VARCHAR(200) NULL,`content` TEXT NULL,`user_id` INT(11) NULL,`delete_flag` TINYINT(4) NULL DEFAULT 0,`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now() ON UPDATE now(),PRIMARY KEY (id))
ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '博客表';insert into spring_cloud_blog.blog_info (title,content,user_id) values("第一篇博客","111我是博客正文我是博客正文我是博客正文",1);
insert into spring_cloud_blog.blog_info (title,content,user_id) values("第二篇博客","222我是博客正文我是博客正文我是博客正文",2);

• Redis

#使⽤yum安装Redisyum -y install redis
#启动redis
systemctl start redis

• RabbitMQ

wget --content-disposition "https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=140"yum localinstall erlang-23.3.4.11-1.el7.x86_64.rpm
#测试
erlwget --content-disposition  "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.30-1.el7.noarch.rpm/download.rpm?distro_version_id=140"yum localinstall rabbitmq-server-3.8.30-1.el7.noarch.rpmrabbitmq-plugins enable rabbitmq_management
#启动
service rabbitmq-server starthttp://162.14.71.227:15672/ (15672 为默认端⼝号,云服务器需要开启端⼝)
默认⽤⼾名和密码都是:guest
添加⽤⼾admin,密码:admin
rabbitmqctl add_user admin adminrabbitmqctl set_user_tags admin administrator通过IP:port访问,并使⽤刚才设置的⽤⼾名和密码登录
http://162.14.71.227:15672/

在创建blog虚拟主机(方法如下)



xRabbitMQ 教你如何创建虚拟主机_rabbitmq 创建虚拟机-CSDN博客

• Nacos

https://github.com/alibaba/nacos/releases

cd /usr/local/src/unzip nacos-server-2.2.3.zip
cd nacos/bin
#启动
sh startup.sh -m standalone#若报错,将安装java8yum install java-1.8.0-openjdk* -y
#测试
java -version

• Nginx

 yum -y install nginx
systemctl start nginx

四、前端部署


mkdir /var/www/blog   
创建⽂件夹cd /var/www/blog/     
进⼊⽂件夹/var/www/blog# rz -E     #
上传代码root@iZ2vc7a1n9gvhfp589oav7Z:/var/www/blog# lsblog-html.ziproot@iZ2vc7a1n9gvhfp589oav7Z: /var/www/blog# unzip blog-html.zip  #解压/var/www/blog/blog-html# pwd     #查看路径/var/www/blog/blog-html
# 修改nginx配置文件cd /etc/nginx/lsvim nginx.conf#修改完在重新启动

修改完效果如图

五、后端部署

1 修改代码(可跳过)

 #
基础配置server:port: 9090spring:application:name: blog-servicedatasource:url: jdbc:mysql://127.0.0.1:3306/spring_cloud_blog?characterEncoding=utf8&useSSL=falseusername: rootpassword: ${mysql.password}driver-class-name: com.mysql.cj.jdbc.Drivercloud:nacos:discovery:server-addr: ${nacos.address}mybatis-plus:configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImpllogging:file:name: blog.log--
#
开发环境spring:config:activate:on-profile: devnacos:address: 47.108.157.13:8848mysql:password: rootserver:port: 8080spring:application:name: user-servicedatasource:url: jdbc:mysql://127.0.0.1:3306/spring_cloud_user?characterEncoding=utf8&useSSL=falseusername: rootpassword: ${mysql.password}driver-class-name: com.mysql.cj.jdbc.Driverdata:redis:host: 127.0.0.1port: 6379timeout: 60s #
连接空闲超过
N(s
秒、
ms
毫秒
)
后关闭,
0
为禁⽤,这⾥配置值和
tcp
keepalive
值⼀致lettuce:pool:max-active: 8  #
允许最⼤连接数max-idle: 8 #
最⼤空闲连接数
, 
默认
8 
min-idle: 0  #
最⼩空闲连接数max-wait: 5s  #
请求获取连接等待时间rabbitmq: #
配置
RabbitMQ
的基本信息addresses: ${rabbitmq.address}cloud:nacos:discovery:server-addr: ${nacos.address}mail:host: smtp.qq.com    
username: 2689241679@qq.com    
password: yzvpkrwhlmmudeeb     
#
需要在设置中开启smtp 
#
发件⼈的邮箱default-encoding: UTF-8     
properties:personal: 
#
邮箱的授权码
, 
并⾮个⼈密码#
字符集编码
, 
默认UTF-8 
mybatis-plus:configuration:map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImpllogging:file:name: user.log--
#
开发环境spring:config:

2 在主项目下打包项目

3 把下面在服务器上运行

mkdir /root/spring-cloud-blog/cd /root/spring-cloud-blog/
#部署博客服务
nohup java -jar -Dspring.profiles.active=prod blog-info-service-1.0-SNAPSHOT.jar &
#部署用户服务
nohup java -jar -Dspring.profiles.active=prod user-info-service-1.0-SNAPSHOT.jar &
#部署网关服务
nohup java -jar -Dspring.profiles.active=prod gateway-service-1.0-SNAPSHOT.jar  &

六、测试计划操作


一功能测试


1测试用例:

实际执行测试的部分操作步骤/截图
1正常登录:

2写博客测试

二 自动化测试

详细请看这篇博客

大众博客系统测试报告【项目】-CSDN博客

三 项目一些演示图


http://www.mrgr.cn/news/82235.html

相关文章:

  • MVCC底层原理实现
  • Redis和MongoDB的区别
  • Elasticsearch容器启动报错:AccessDeniedException[/usr/share/elasticsearch/data/nodes];
  • CSS的小知识
  • 微服务中引入消息队列的利弊
  • 电脑分辨率调到为多少最佳?电脑分辨率最佳设置
  • 单片机--51- RAM
  • 【蓝桥杯研究生组】第15届Java试题答案整理
  • C++ —— 字符型和字符串
  • 作业:C高级:Day4
  • Ceph 手动部署(CentOS9)
  • Coding Our First Neurons
  • javaEE-多线程进阶-JUC的常见类
  • 设计模式 创建型 工厂模式(Factory Pattern)与 常见技术框架应用 解析
  • 升级Cypress到10.8.0
  • 【老白学 Java】Border 布局管理器
  • C++并发:在线程间共享数据
  • spring boot 异步线程池的使用
  • SpringCloud源码分析-Lettue Redis
  • shell脚本的【算数运算、分支结构、test表达式】
  • 03-类和对象(上)
  • SQL偏移类窗口函数—— LAG()、LEAD()用法详解
  • 单片机-蜂鸣器实验
  • vue视频录制 限制大小,限制时长
  • 思科无线控制器 AC5508 初始化
  • 操作系统课后题总复习