域名
下面操作全部基于阿里云。
域名-全部篇请访问https://www.yuque.com/nanchengcyu/dubfny/dt76w8ru5qhgda5f?singleDoc# 《域名,拜访你的网站的门户(https协议)》
这篇文章讲解了域名基础知识,以及如何实现网站HTTPS协议。
域名购买
https://blog.csdn.net/pang_ping/article/details/101279960#
购买完之后,记得等待两到三天,域名备案,备案步骤比较简单,此处不再张贴相关网址。有需要可以自行百度。
(当然了如果你不想要备案,可以自行网上搜索资源购买外网服务器-建议大家遵守国家法律)
阿里云域名备案网站链接:
https://beian.aliyun.com/
在阿里云备案完成后会收到阿里云客服电话
一天之内在下面网站填写收到的短信验证码
具体操作看下图
工业和信息化部政务服务平台
https://beian.miit.gov.cn/#/Integrated/index
域名配置
域名DNS解析
https://blog.csdn.net/fate_sky8521/article/details/116610662
部署项目
部署方式
1)原生态部署方法,各种环境利用Linux指令安装(下面所有环境安装方法,MySQL、redis等)
2)docker容器打包方法,将所有的环境打包在docker容器中,包括前后端项目
3)利用第三方网站部署,如宝塔。
阿里云服务器重置以及安装宝塔
链接:
https://blog.csdn.net/qq_44891617/article/details/123723766
宝塔部署参考链接:
https://www.cnblogs.com/galo/p/17539631.html
---------------------------------------------------
下面所有方法都为1)的部署方法-原生安装方法
前端
前端打包
webstrom
npm run build
前端环境
nginx
前端环境安装
nginx下载安装
1)利用centosyum下载 yum or 利用官网链接下载 curl -o [filename] [curl] 2)解压安装 tar -zxvf nginx-1.24.0.tar.gz 3)相关依赖安装 yum install pcre pcre-devel -y yum install openssl openssl-devel -y ./configure --with-http_ssl_module--with-http_v2_module--with-stream 4)编译安装 make make install 5)编译配置环境 ls /usr/local/nginx/sbin/nginx vim /etc/profile (shift+g)快速跳到编译文件最后一行 在最后一行添加: export PATH=$PATH:/usr/local/nginx/sbin 6)启动nginx source /etc/profile 刷新配置文件 nginx 6)查看端口启动情况 netstat -ntlp
后端
后端打包
后端多环境运行配置
在企业项目运行时,一般会经历开发-测试等多个环节,因此需要一套代码多个环境,项目上线打包的时候只需要修改application.yml配置即可,详情可看下图
相关链接:
https://zhuanlan.zhihu.com/p/148823337
参考链接:
https://www.cnblogs.com/galo/p/17539631.html
打包项目,并把打包文件上传到宝塔
通过MAVEN插件去打包项目(打包记得要过测试)
M,PARTNERMATCHINGBACKEND
土十M
工云人
NLDEPENDENCIES
APLUGINS
GDEPLOY
VALIDATE
ALIFECYCLE
MAVEN
PACKAGE
GVERITY
AXCLEAN
COMPILE
GSITE
OINSTAL
TEST
打包完后运行命令
WW/WWROOT/TECHMINDWAVE-BACKEND/NANCHENQYU-BACKEND-5.0-SNAPSHOTJI
-BACKEND-5.O-SN...
2023/08/1922:12:35
权限/所有者
55/WWW
53.75MB
修玫时间
防算改
大小
备注
#宝塔版 /usr/bin/java -jar -Xmx1024M -Xms256M 项目jar包路径 --server.port=启动端口 --spring.profiles.active=prod #Linux指令版 java -jar -Xmx1024M -Xms256M 项目jar包路径 --server.port=启动端口 --spring.profiles.active=prod
后端环境
Java maven MySQL Redis RabbitMQ Java版本
推到重来,建议全部安装利用podman/docker安装
后端环境安装
Java maven安装
yum install -y java-1.8.0-openjdk* curl -o apache-maven-3.8.5-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz tar -zxvf apache-maven-3.8.5-bin.tar.gz git clone xxx 下载代码 打包构建,跳过测试 mvn package -DskipTests java -jar ./user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
MySQL安装
参考网站链接:
https://blog.csdn.net/wangpaiblog/article/details/120259448
MySQL镜像网:
https://mirrors.aliyun.com/mysql/MySQL-8.0/?spm=a2c6h.25603864.0.0.6a2f712bwfBnNT
RabbitMQ安装
参考网站
https://blog.csdn.net/qq_45173404/article/details/116429302
下载网站
https://www.rabbitmq.com/download.html
问题解决方案
rabbitmq用户管理(Not management user问题解决)
参考链接:https://blog.csdn.net/qq_24095055/article/details/97001679
建议最后执行
rabbitmqctl set_user_tags 用户名 administrator
redis安装
参考网站链接:
https://blog.csdn.net/m0_37959155/article/details/108897863
https://blog.csdn.net/u012723183/article/details/105970244(阿里云推荐)
博客园
https://www.cnblogs.com/hunanzp/p/12304622.html
csdn
https://blog.csdn.net/qq_45784913/article/details/120678054
推到重来,建议全部安装利用podman/docker安装
Docker 部署
前端部署需要配置nginx.conf文件和dockerfile文件(dockerfile文件一般放在docker目录下面)
后端只需要配置dockerfile文件
docker 是容器,可以将项目的环境(比如 java、nginx)和项目的代码一起打包成镜像,所有同学都能下载镜像,更容易分发和移植。
再启动项目时,不需要敲一大堆命令,而是直接下载镜像、启动镜像就可以了。
docker 可以理解为软件安装包。
Docker 安装:https://www.docker.com/get-started/ 或者宝塔安装
Dockerfile 用于指定构建 Docker 镜像的方法
Dockerfile 一般情况下不需要完全从 0 自己写,建议去 github、gitee 等托管平台参考同类项目(比如 springboot)
Dockerfile 编写:
●FROM 依赖的基础镜像
●WORKDIR 工作目录
●COPY 从本机复制文件
●RUN 执行命令
●CMD / ENTRYPOINT(附加额外参数)指定运行容器时默认执行的命令
根据 Dockerfile 构建镜像:
Docker 构建优化:减少尺寸、减少构建时间(比如多阶段构建,可以丢弃之前阶段不需要的内容)
docker run 启动:
虚拟化
1端口映射:把本机的资源(实际访问地址)和容器内部的资源(应用启动端口)进行关联
2目录映射:把本机的端口和容器应用的端口进行关联
进入容器:
docker exec -i-t fee2bbb7c9ee /bin/bash
查看进程:
docker ps
查看日志:
docker logs -f [container-id]
杀死容器:
docker kill
强制删除镜像:
docker rmi -f
Docker 平台部署
1 云服务商的容器平台(腾讯云、阿里云)
2 面向某个领域的容器平台(前端 / 后端微信云托管)要花钱!
容器平台的好处:
1不用输命令来操作,更方便省事
2不用在控制台操作,更傻瓜式、更简单
3大厂运维,比自己运维更省心
4额外的能力,比如监控、告警、其他(存储、负载均衡、自动扩缩容、流水线)
问题复盘
在项目中,遇到的相关问题解决方案记录。
报错解决方案
1.推荐先去问ChatGPT,可以解决百分之80的问题(建立在你的表述无误的情况下)
2.浏览器搜索方法(推荐顺序谷歌>百度)
3.开源项目可以去GitHub解决
1)动态SQL获取 视频时间1.43.30
2)前端我的图表显示不出来 回放 第四期
后端原因没有解决好
3)异步页面处理
视频在第五期 2.2.30
4)mq队列
视频第七期 2.31.08
对应包 bizmq
5)修改接口
6)更改前端代码openapi接口
7)Redis高版本下载
https://blog.csdn.net/dwh19992018/article/details/129750566
8)更改前端图标
app.tsx文件
defaultSetting文件
9)引入mybaits-plus √
用户中心第一期 项目视频 1.58.42
10)引入junit -单元测试库 √
用户中心第一期 视频 2.15.29
11)注册 id
用户中心终 视频 0.53.00
12)mq队列
BI第七期 1.52.0
13)运行npm install 时,卡在sill install loadAllDepsIntoIdealTree不动
相关链接https://blog.csdn.net/zjq_1234/article/details/88946863
- npm install一直停留在fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch可以使用如下命令设置为淘宝的镜像源:
npm config set registry https://registry.npm.taobao.org
2. 使用如下命令检验是否成功:
npm config get registry
输出淘宝镜像路径
- 继续运行 npm install ,安装过程畅通无阻
14)erro报错
这个报错是由于在RabbitMQ中的队列参数不匹配导致的。错误信息中提到了问题所在:
inequivalent arg 'x-dead-letter-exchange' for queue 'ai_question_queue' in vhost '/': received none but current is the value 'ai-dlx-exchange' of type 'longstr'
这个错误表示在队列 ai_question_queue
的参数 x-dead-letter-exchange
不匹配,当前值是 'ai-dlx-exchange'
,但接收到的值是 none
。这可能是因为队列在声明的时候参数设置不一致导致的。
要解决这个问题,你需要确保你的队列声明参数与之前定义的参数一致。具体来说,检查队列 ai_question_queue
的声明,并确保在声明时设置了正确的 x-dead-letter-exchange
参数。
如果你使用代码声明队列,可以类似以下方式来设置参数:
Map<String, Object> args = new HashMap<>(); args.put("x-dead-letter-exchange", "ai-dlx-exchange"); // 设置正确的死信交换机 Queue queue = new Queue("ai_question_queue", true, false, false, args);
如果你在 RabbitMQ 的管理界面中手动创建队列,确保在队列的参数设置中包含了正确的 x-dead-letter-exchange
值。
总之,解决这个问题的关键是确保队列参数的一致性,特别是 x-dead-letter-exchange
参数的设置。
15)查询电脑端口占用情况命令
netsh interface ipv4 show excludedportrange protocol=tcp
16)页面颜色
<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}> <div style={{ background: '#007BFF', padding: '5px 10px', borderRadius: '4px', display: 'inline-block' }}> <Divider style={{ fontSize: '20px', fontWeight: 'bold', color: 'white', margin: 0 }}>分析结论</Divider> </div> </div>
我的选择#007BFF
/* 背景色为淡蓝色 */ body { background-color: #E6F7FF; } /* 正文文本颜色为深灰色 */ body { color: #333; } /* 链接颜色为浅蓝色,悬停时变为深蓝色 */ a { color: #007BFF; } a:hover { color: #0056b3; } /* 按钮背景色为浅绿色,文本颜色为白色 */ .button { background-color: #A7E1B1; color: white; } /* 提示框背景色为淡黄色,文本颜色为深灰色 */ .tooltip { background-color: #FFF3D9; color: #333; }
17)宝塔部署vue项目刷新404解决方案
解决方案链接:
https://blog.csdn.net/Mrzhao5788/article/details/120279306
18)linux解压时报错: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed
参考链接:
https://blog.csdn.net/hjing123/article/details/88862650
去掉 z #tar -vxf [解压文件名】
19)后端跨域
在idea中每个controller中修改
20)java找不到符号 符号:类Xxx 位置xxx的解决方案
https://www.cnblogs.com/sinoaccer/p/13369212.html
idea快捷操作小技巧
在idea中如何进行单词的全局替换
先按ctrl+f再按ctrl+r
全局替换 crtl+shift+r
在idea中创建测试类快捷键 ctrl+shift+t --> create new test
windows区域截图快捷键 win 键+ shift + s键