我很生气
服务器被黑了,top ps命令被修改,top下面的进程基本都是0占用率,控制台看到的cpu是100,找不到原因,一开始我还以为是显示错了,后来仔细看,top查看到ni(nice cpu time)的百分比是100!!我百度了很久都找不到ni占有100的情况,最后谷歌搜到了国内的博客才发现是自己的命令被修改了,在被修改的前一分钟,被一个ip在上海的阿里云攻击入口,我服了!我好累,我睡觉了,今天起来继续弄
redis端口真是万恶之源!这次redis要设置连接密码
重装
首先要停止服务器,然后初始化云盘
重装之后记得修改连接密码!
安装JDK1.8
-
官网下载rpm包https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
-
把rpm包上传的服务器上
-
rpm -qa | grep java
查看是否安装了jdk,如果安装了,可以通过rpm -e xxx --nodeps
命令进行卸载,xxx表示你通过 rpm -qa | grep java 命令 查到的安装包的名字 -
rpm -ivk jdk-8u191-linux-x64.rpm
-
测试命令 java javac java-version
为什么选rpm安装,因为rpm不用配置环境变量,我最讨厌配置环境变量了
具体参考这篇博客https://blog.csdn.net/weixin_42466518/article/details/115151787
安装并配置redis
安装
- 装好环境,redis6.0以上需要gcc升级到以上
#第一步
yum install centos-release-scl
#第二步
yum install devtoolset-7-gcc*
#第三步
scl enable devtoolset-7 bash
- 安装wget,然后按照redis官网安装redis
#先安装wget,阿里云好像自带的。。
yum -y install wget
$ wget https://download.redis.io/releases/redis-6.2.5.tar.gz
$ tar xzf redis-6.2.5.tar.gz
$ cd redis-6.2.5
$ make
- 安装成功,redis-server在src目录里面
/usr/local/bin中也可以启动redis
配置
拷贝第一次安装的位置下的redis.conf到/usr/local/bin下面
-
新建目录
-
拷贝conf进来
-
cd myredis,vim 编辑配置文件
在vim可以用/查询,/bind,按n下一个
1.设置访问redis的密码:requirepass 要设置密码
2.注释bind 127.0.0.1(6.0变成了bind 127.0.0.1 -::1)
3.daemonize yes
4.protected-mode no -
用自己的配置文件运行redis-server(需要重启)
redis-server myredis/redis.conf
#启动客户端
redis-cli -p 6377
#如果想输入密码登陆redis可以-a passowrd
redis-cli -p 6377 -a 密码
测试密码
idea连接测试
- 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- application.properties
#配置reids
spring.redis.host=ip
#改成6377是怕6379端口开了又被黑了,6377应该不会有人来找上门吧。。。
spring.redis.port=6377
spring.redis.password=密码
- 在spring boot的test目录下的测试代码
@Test
void contextLoads() {
redisTemplate.opsForValue().set("ideaTest","hahahha");
System.out.println(redisTemplate.opsForValue().get("ideaTest"));
}
- 输出结果
- redis查看
安装nginx
按步骤做,完全没问题,设置好安全组就行
https://www.cnblogs.com/pxstar/p/14808244.html
安装mysql
非常好,和阿里云里面的环境配置步骤基本一致!
https://blog.csdn.net/unhejing/article/details/79893219
设置安全组
阿里云设置安全组,只能让自己的ip访问,可以参考这个博客
https://www.cnblogs.com/lazb/p/13234078.html
前端vue
参考了这个:https://blog.csdn.net/CDBstudent/article/details/111395418
- 打包(npm run build),上传
- 解压
#用 unzip 的先安装
yum install -y unzip
#unzip file.zip -d /root
-d指解压路径 ,不写的话默认当前目录
配置nginx
1.进入nginx配置文件的目录
cd /usr/local/nginx/conf
- vim nginx.conf 只需要修改这两个
- 修改成功后记得重启nginx
./nginx -s reload
访问成功!!!喜翻惹喜翻惹
部署spring boot项目
mysql建表
上传.sql文件到服务器
提前建好database,use database,然后进入mysql执行
source /目录/目录/文件名.sql
打包spring boot项目
application.propertyes改一下再打包,没有分两个环境。
webmvcconfigure.java 这个文件的跨域除了加localhost,另外加上服务器ip。
我不管有没有用都加,我从下午三点多弄到现在晚上十二点半,能改的都该了,要被气死了!
public void addCorsMappings(CorsRegistry registry){
registry.addMapping("/**")
.allowedOrigins("http://localhost:8080")
.allowedOrigins("http://服务器ip:8080");
}
application.propertyes里面redis的地址写localhost就行了,mysql的url也是写localhost就行了,第一次部署,不知道要写服务器ip还是写localhost。写了localhost访问没问题!
如果是用docker就不清楚了,可能要mysql redis拉到同一个网络之类的才能这样
maven点右边的clean,点package,pom要导入这个插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
上传到服务器上
如何运行jar参考https://blog.csdn.net/qian9140/article/details/84629762
补充几个命令
netstat -anp |grep xxxx
netstat -nultp 该命令是查看当前所有已经使用的端口情况
查看日志
more xxxx.xxx 翻页用空格
vim里面翻页
ctrl -f forward,向前翻一页
-b backword向后一页
-d down往下半页
-u up往上半页
vim里面查询 /要查询的字符串,比如:
/username
按小写n,下一个
前后端都运行成功,在浏览器输入ip:端口就能访问了
nginx配置比较简单
spring boot配置页比较简单
vue出问题,主要是因为我看不懂,没用过,代码也不是自己写的,配置都不是自己配的,出问题也是正常,好在最后部署成功!喜翻惹!
第一时间发给同学注册发文章
debug能力有待增强!发现了前端给后端发出的请求是localhost:8888,我觉得应该是ip地址+8888才对,但是改了dev和index配置文件都没用,最后发现唯一一个没改的地方就是prod环境的base_api,他还是localhost:8888,把prod的BASE_API改成服务器地址+端口,重新部署(这个问题找了大半天才解决。。。下午三点多到晚上十二点)
然后发现服务器前端访问服务器后端出现了跨域问题,把webmvcconfigure允许跨域加上服务器ip地址就行了,最后就是
服务器ip:前端端口8080------访问----->服务器ip:后端端口8888
访问成功了!
完结撒花