IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 使用阿里云服务器的经历~ -> 正文阅读

[系统运维]使用阿里云服务器的经历~

在2022年的5月最后一天,我领到了一款阿里云ECS服务器,在领到了之后,秉持着白嫖了就尽量不要浪费的原则,第一次开始学习使用服务器。

写这篇文章特此将这几天的学习经历记录一下。

在第一天,我在服务器上安装了宝塔Linux管理面板,然后靠着宝塔的方便性,便捷的安装了一些必备的应用软件(Nginx,Tomcat,Redis,Mysql)来帮助我更好的使用服务器,在第一天,我也经历了很多新手第一次使用服务器时遇到的一些问题,比如安全组和防火墙到底什么关系?为什么宝塔界面起初开放端口的那里打不开?等等。。。在安装好了之后,我尝试性的使用了软件商店中的WORDPRESS个人博客一键部署,认识并熟悉了部署中的最关键的几步。

第二天,我打算部署前不久在本地写的一个小项目,一个视频网站,里面用到的一些中间件需要我自己安装一下,首先我安装了Kafka,然后安装了ElasticSearch,但是在安装之后,我认识到,单单不算自己未来还要部署的项目,内存就已经占用了近三分之二,并且我当时项目是两个jar包,一个是socket服务转发的一个jar包一个是负责后端的常规接口的jar包,这样肯定是运行不起来的,我就开始对配置文件里的下手,将两者最小占用减小到128M,占用内存减少了一些。

当我把这两个挨个启动时,果不其然,仍然发生了爆内存的情况,此时的阿里云服务器负载达到了100%并且宝塔面板卡住不动了, 无奈只能重启服务器,再重启服务器之后,我尝试去再次开启kafka,发现没有办法开启kafka自带的zookeeper,使用status命令查看zookeeper的状态,提示文件找不到,此时我尝试了很多方法,比如重装kafka,但是都是一直提示各种文件找不到。然后我就想到,kafka的新版不需要启动zookeeper,并且因为内置注册中心,使整个kafka比之前占用的内存小了许多,在网上好像用新版启动方式的还比较少,当时也花了一些时间去找怎么启动新的kafka。

当一切环境都准备好了之后,就开始将项目尝试部署到阿里云上,因为是前后端分离,所以先将前端的Vue程序打包为静态资源,然后将其放到Nginx下的Html文件夹中,因为对于Nginx的配置文件还不熟悉,因此没有去改动任何的属性,然后在地址栏直接输入公网的ip地址,就可以看到项目的开始页面,当然,因为没有部署后端,这个时候所有的按钮都是不可用的。

然后,开始对后端的SpringBoot项目进行打包,将打成的Jar包放到软件商店下载的 一键部署Java项目中,配置一下基本的配置,注意在输入框这里的参数server-port要在前后分别加一个空格 ,将该参数与后面的参数隔开,不然在运行的时候会报启动参数错误。成功第一次运行了Jar程序之后,打开前端页面,果然不出所料,连接不上后端,不可能啊,我都运行成功了,怎么可能连都连不上,后面检查时发现忘记把端口放开了,连接上之后报的跨域错误,在这里,我将处理跨域的后端代码加上。关于跨域问题的代码,我反正是没有在百度上找到完全拿下来就可以用的代码,都是需要自己的情况进行一下适当的修改的。。。
下面是我当时遇到的一些问题:

1.刷新页面直接404,这里百度之后在Nginx配置文件里面加了点必需的东西。

2.SpringSecurity代码没有写好,对于一些提交表单的post请求如果没有一定的权限,会进行重定向,这里重定向会导致出现跨域的错误,救急的话就直接把SpringSecurity里关于该表单提交的权限控制删掉。

3.上传文件到服务器使用了一个TransFerTo的函数,这个函数会在后台报错,说找不到xxx.bat文件,这里百度说是因为写的相对路径,然后该函数会在前面加上默认的Tomcat路径,组成一个新的路径然后存储,但是,我确定我传入的就是一个绝对路径啊!经过重重修改,在本地删除了后端代码里对OPTIONS请求处理的代码,本地不报错了,然后部署到了服务器之后还是报错,无奈将这个函数换掉,换成了copyInputStreamToFile函数。

4.关于内存小,所以不能同时运行socket服务端Jar包和后端项目接口的Jar包,就将有关socket服务的代码都合并到后端项目中,此时前端的socket请求地址要改成后端的地址,如果存在前缀也不要忘记了,当时因为落下前缀一直连接不上。

5.不要将网站保存在服务器端的资源放在tmp目录下,可以放在home下。

6.新版的Kafka如果报找不到主题的错误,就在后端yml里面设置missing-topics-fatal,这个在低版本的SpringBoot里面是没有的哦。

7.如果使用element-ui的上传文件组件,尽量将自带action设置为空,自己写一个提交函数,用来上传文件,不然在服务器部署时会报错。。。。。

其实前后从拿到服务器到部署视频网站成功花了大概5天的时间,很多时候一点简单的错误都导致我几个小时的时间被用掉,在找BUG之前其实应该先仔细思考一下这个BUG的前后联系的代码的思路,对代码的整体有一个具体的理解,然后去列出有可能出现BUG的点,对这些点进行着重的检查,这样子会让大脑变得清晰一点,而不是一着急就脑子变得混乱,对只要看到的代码就浑浑噩噩的进行测试。

总的来说,这一段时间对我有了很大的提升,对于服务器部署有了一个大概的认知,感谢阿里云给了我这个学习的机会。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:57:06  更:2022-06-14 22:58:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:05:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码