服务器部署项目总结

服务器部署项目总结

yzh 24/3/15

前言

本着一定成功的信心去部署前后端分离的项目,结果却“路遇坎坷”😭😭😭😭

代码和程序总是无情的啊,当然,也是因为一段时间没学习对于知识模糊了,其实很Easy的Bug

自己看了很长时间没解决(🤡🤡🤡🤡属于是joker本了)

但是解决的过程是充实和享受的,成功的快感更是无法言表的😀😀😀。

✊ 👊 🤛 🤜谨以此篇记录这次历程吧✊ 👊 🤛 🤜

代码的背后都是白云苍狗,愿我们都做SUCCESS的高手!💯💯💯💯💯

一、服务器与项目

服务器是室友波波买的,赞助方(不过他是第一次买,他不太懂买成了win系统,不过没关系,重装centos7小问题),和他一起看绑定域名,备案,创建服务器实例等等。OK,服务器搞定。宿舍公司的一台服务器完成了

项目的话,是我去年暑假写的一个办公系统,基于”SpringBoot+Vue+Activiti+微信公众号“的前后端分离系统,拿来部署作为实践挺不错的。但是,因为上周末电脑重装了系统,所以我本机的环境什么的我都删了,一个不留(前提是重要的东西备份)。所以也费了时间去装本机的编程环境,然后拉gitee上自己原来提交的代码,开始在电脑测试。

🧑‍💻到此遇见了第一个问题,原来的前端代码,所用依赖的node.js是14.15.0,但是我并不想用这么低的node,所以就装了NVM来切换node版本,好家伙,装了两次,docs里面可以用node -命令,但VS里面的终端用不了,就离谱的很。最后索性都装C盘了,小小Node-Sass(这玩意必须依赖匹配,一个版本对应一个,我前端并不好,好多东西我并不清楚,只能是nvm来切换了)
在这里插入图片描述

就这样,前后端环境在本机可以跑通了,阶段性胜利。

二、服务器环境配置

服务器环境配置是云龙来弄的,当时我正在自己电脑上弄本地的环境和测试,所以他做的

🧑‍💻遇到第二个问题,

如果只是简单的部署项目只需要 “java环境、mysql、nginx、redis(如果需要)“。

验证安装的应用是否实际可用,mysql和redis开启远程连接服务。确保云平台的安全组的端口打开,并开启服务器对应的防火墙端口和重新加载。(哈哈哈,因为他腾讯没开端口防火墙,一直访问不到,最后他给重装了,哈哈哈)
在这里插入图片描述

三、上传部署到服务器

前端VS里面的配置和java代码中yaml文件的配置都写好了,然后分别打包dist文件夹和jar包,上传到服务器。

🧑‍💻首先对于nginx的反向代理知识,我认真的反省自己确实模糊了(很简单的东西),也搜资料慢慢配。随后访问网站,最开始是404问题,nginx中的配置路径写错了;然后502,网关问题,启动jar包,OK没有了;接着403,jar包启动出错了(查资料,打日志)最后是redis的问题,然后就傻傻的看网上的教程,redis的远程连接打开了,重新写路径打包上传+启动。-------这些也花了不少时间。然后,他可以访问了,我和云龙非常高兴,认为已经胜利了,殊不知灾难来临😣😣😣😣😣…

🧑‍💻当晚还沉浸在解决BUG,成功部署,发朋友圈的庆祝中;可是凌晨波波给我说网站被攻击了,我嘞个艹啊,但当时以为无伤大雅,早上起来再看吧;好家伙,服务器直接崩了进不去了(tnnd的狗黑客),直接把服务器当肉鸡打别人的ip,还给里面加了好多病毒(后来我排毒的时候,还tm给权限改了😡 🤬😡 🤬,命令程序删了,艹😡 🤬😡 🤬)。

在这里插入图片描述

🧑‍💻花了几个小时去把服务器的病毒排掉(就不该自己去丰富动手能力慢慢解决,耗时耗力,早知道就重装了!),找到了一堆问题。经过比对和排查
在这里插入图片描述

最后得出就是Redis开放了远程连接,让黑客钻了空子,非常轻松的把服务器黑了

利用Redis的未授权访问漏洞进行攻击。Redis 默认配置为6379端口无密码访问,如果redis以root用户启动,攻击者可以通过公网直接链接redis,向root账户写入SSH公钥文件,以此获取服务器权限注入病毒

🧑‍💻最后错基本排完了,再次上传jar包和dist,开端口,运行--------->艹,错了,而且在十几分钟后,服务器由挂了,直接打不开。腾讯云客户端建议重装客户端…果断重装!!!👿👿👿👿👿
在这里插入图片描述

四、重装系统再次部署
痛定思痛,重装系统

🧑‍💻更换服务器公网IP,改掉ssh的端口,nginx的端口,只开3306端口,其他都不开(除非要用再开)

使用ssh秘钥,修改各类配置的密码,设的复杂(得写记事本记录,不然把自己给防了)

再次部署!!!

满怀期待能够成功,结果:认证失败,无法登录,emmmmm,试了n次,还是一样的结果。我还一度怀疑我是不是手抽了,把哪里的代码删了或者改了,然后打断点,看啊找啊。结果都没出现错误,本地也跑了几次,完全OK。对服务器的数据库用户和密码,以及对于项目数据库也增删改了几次,还是不行

🧑‍💻最后在打jar之前在认证的部分加了一些log,打印到控制台显示日志,上传到服务器运行,将log拿出来看,没想到还是nginx出错了,啊呀,我是废物🤡🤡🤡🤡🤡🤡,因为没有出现对于nginx的标准性错误,而且还和后端接口路径是200 OK 是连通着的,就没多想,ε=(´ο`*)))唉。路径里面多了一个/prod-api/,然后在反向代理的路径上面再就给它加个正则表达式,忽略掉它就好了

rewrite ^/api/(.*)$ /$1 break;# url重写

./nginx -s reload, 在浏览器输入IP和端口,OK,输入用户名和密码 =====> 进去了!!!!!!!!!!!!!!!!!!!👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏 👏
在这里插入图片描述

在这里插入图片描述

五、总结

代码的背后都是白云苍狗,愿我们都做SUCCESS的高手!💯💯💯💯💯

代码成就万世基积沙镇海

梦想永在凌云意意气风发

任何执拗都会成为过往,只有时间会告诉你对错。

人们总爱说一句话:认真你就输了。而我更相信另一句话。认输,你才真的输了

Conclude

🧑‍💻首先,遇到了一波又一波的Bug,真挺难受的,也怪自己见得不够多,学的不够深。一段时间没敲代码就把已经学过的知识给忘了,这是很不好的,学无止境啊,再次理解这句话,不能停止学习,要始终向前学习~。

🧑‍💻但是呢,我觉得解决Bug的过程更多的收获,我再次一遍遍复习了Linux的知识和命令使用,再次巩固了项目部署的诸多知识点,进一步加强了对运维,对网安的重视性。更好的理解了前后端交互和对接的思想,还是非常GOOD的!

🧑‍💻网络安全从自我做起;维护网络安全,打击恶意黑客人人有责!!!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/543620.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

页面配置、网络数据请求

1. 页面配置文件的作用 小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 小程序中, app.json 中的 window 节点,可以全局配置小程序中每个页面的窗口…

集合进阶map

双列集合 map集合的遍历 1. 2. 3. hashmap的基本使用 hashmap练习 1. 重写hashmap方法 2. linkedhashmap treemap 按降序排列i的话加一个比较器对象 2.由于这个案例 他的student不知道怎么去比大小 只需要继承一下cmp然后重写就ok 3. stringjoiner只能添加字符串 所以要在key…

【机器学习-02】矩阵基础运算---numpy操作

在机器学习-01中,我们介绍了关于机器学习的一般建模流程,并且在基本没有数学公式和代码的情况下,简单介绍了关于线性回归的一般实现形式。不过这只是在初学阶段、为了不增加基础概念理解难度所采取的方法,但所有的技术最终都是为了…

传统电力运维企业的数字化转型案例

一. 传统电力运维企业面临的主要问题 上海某电力集团企业下属有成套设备公司、电力工程公司,依托于自身的设备制造和工程服务能力,以及多年积累的终端客户资源,几年前该公司成立了电力运维服务公司进入用户侧电力托管运维服务行业。 该公司…

【薪酬体系搭建】建立差别化的薪酬体系,有效激励项目开拓人员

【客户评价】该国际贸易公司总经理:由于行业特点的影响,公司项目开拓人员的收入随着业务量的变化而随时变化,收入长期性的波动导致了人员的流失,如何能够合理平衡其收入,保留核心人才一直是困扰企业的一个难题。我们选…

SMART PLC 卷径计算(圈数检测+膜厚叠加法)

1、卷径计算(膜厚叠加+数值积分器应用博途PLC SCL代码) https://rxxw-control.blog.csdn.net/article/details/136719982https://rxxw-control.blog.csdn.net/article/details/1367199822、膜厚叠加法 https://rxxw-control.blog.csdn.net/article/details/128600466

15.7k stars一个实用型OCR,支持80多种语言

一个实用型 OCR,支持 80 多种语言和所有流行的书写脚本,包括:拉丁文、中文、阿拉伯文、梵文、西里尔文等。 特点 支持本地或云/API部署 准确度提高到 99% 以上 完全可定制,支持 80 多种语言 支持表格识别 二维码/条码提取识别 GitHub数据 15.7k s…

python自动化之(django)(2)

1、创建应用 python manage.py startapp apitest 这里还是从上节开始也就是命令行在所谓的autotest目录下来输入 然后可以清楚的看到 多了一个文件夹 2、创建视图 在views中加入test函数(所建应用下) from django.http import HttpResponse def tes…

Simulink|局部遮荫下光伏组件多峰值PSO-MPPT控制

目录 主要内容 1.光伏电池工程数学模型的输出特性程序 2.普通扰动观察法进行MPPT 3.基于粒子群寻优的多峰输出特性 4.PSO_MPPT仿真模型 程序下载链接 主要内容 在实际的光伏发电系统中,由于环境多变等因素的影响,当局部出现被遮挡情况时光伏阵列的功率-电压(P-U)特…

分布式文件存储与数据缓存(一)| FastDFS

目录 分布式文件系统FastDFS概述_简介FastDFS特性:分布式文件服务提供商 FastDFS概述_核心概念trackerstorageclientgroup FastDFS概述_上传机制内部机制如下 FastDFS概述_下载机制内部机制如下 FastDFS环境搭建_Linux下载安装gcc下载安装FastDFS下载安装FastDFS依赖…

vue3速查笔记

文章目录 一、创建Vue3.0工程1.使用 vue-cli 创建2.使用 vite 创建 二、常用 Composition API1.拉开序幕的setup2.ref函数3.reactive函数4.Vue3.0中的响应式原理vue2.x的响应式Vue3.0的响应式 5.reactive对比ref6.setup的两个注意点7.计算属性与监视1.computed函数2.watch函数3…

Postman接口测试之断言,全网最细教程没有之一!

一、断言 在 postman 中我们是在Tests标签中编写断言,同时右侧封装了常用的断言,当然 Tests 除了可以作为断言,还可以当做后置处理器来编写一些后置处理代码,经常应用于: 【1】获取当前接口的响应,传递给…