服务器迁移小计
哇.一晃一年过去了,看自己上篇博客还是去年九月份的时候更新了,唉!回想起自己秋招之后的这半年,感觉真的是可以用命运多舛来形容了,好在日子会越过越好,现在的工作虽然没有武汉时那么清闲,偶尔会加班到十一二点,但是年轻人嘛,或者就是折腾得。刚好撑着这个周末其它的一些事情都处理结束了,查看自己的阿里云也马上到期了,(😔 毕业就薅不到这些羊毛了)。但是服务器上还部署着很多服务,所以想着刚好写写自己最近的状态和把服务器上的东西备份一下。
服务器迁移
开发环境
Java
1.去Java官网下载相关的Jdk开发环境
1
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
- 1.编辑相关环境变量
vim /etc/profile - 2.添加环境变量
1
2
3
4export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOM/jre/lib - 3.执行
source /etc/profile - 4.验证
java -version
到这里Java的开发环境就安装好了,很简单有木有。
- 1.编辑相关环境变量
Mysql
作为一个Java开发者,怎么可能少的了Mysql呢,但是现在由于云技术的发展,安装mysql可以采用两种方式,下面具体介绍
普通安装方式(不推荐)
1.可以去Mysql的官网下载相关依赖库
1
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2.使用仓库安装
1
yum install mysql-server
3.mysql的一些基本命令
1
2
3
4
5
6systemctl start mysqld #启动MySQL
systemctl stop mysqld #关闭MySQL
systemctl restart mysqld #重启MySQL
systemctl status mysqld #查看MySQL运行状态
systemctl enable mysqld #设置开机启动
systemctl disable mysqld #关闭开机启动4.找到临时密码
1
grep 'temporary password' /var/log/mysqld.log
5.删除密码安全限制:
1
UNINSTALL PLUGIN validate_password;
到这里普通的Mysql安装方式也结束了,那么来看看Doker是如何安装的把
采用Docker安装
1.首先得安装Docker
1
yum -y install docker-io
2.找到一个可靠的源(这里推荐DaoCloud的源)
1
https://hub.daocloud.io/
3.配置Mysql的镜像
1
docker run --name mysql -e MYSQL_ROOT_PASSWORD=xxx -p 3306:3306 -d daocloud.io/mysql:tag
- 其中
MYSQL_ROOT_PASSWORD后加mysql的密码 -p后加需要映射的端口
- 其中
4.安装进行后
我们就存在一个默认的容器,使用docker ps就可以看到列表5.如何进入容器
docker exec -it xxx /bash/bin
到这里Mysql Docker的安装方式也结束了
Nginx
Nginx是现在比较主流的一款web服务器,但是在Linux上,nginx的安装方式还是很麻烦的,所以有Docker的情况下,我们没比较再去花时间在安装上面,我们可以直接去镜像中心下载nginx的镜像
- 编写自己的Dockerfile
- 1.创建相关的文件夹
mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf三个文件夹的含义分别为:- www目录将映射为nginx容器配置的虚拟目录
- logs目录将映射为nginx容器的日志目录
- conf目录里的配置文件将映射为nginx容器的配置文件
- 2.拉取Nginx镜像
1
docker pull nginx
- 3.运行镜像
1
docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx xxx
-p 80:80:将容器的80端口映射到主机的80端口
–name mynginx:将容器命名为mynginx
-v $PWD/www:/www:将主机中当前目录下的www挂载到容器的/www
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机中当前目录下的nginx.conf挂载到容器的/etc/nginx/nginx.conf
-v $PWD/logs:/wwwlogs:将主机中当前目录下的logs挂载到容器的/wwwlogs
- 1.创建相关的文件夹
服务程序
电影爬虫
这个项目是采用SpringBoot+Redis实现的,其实编写的时间还算挺早的,早在17年九月份在武汉实习的时候花了不到一个星期就完成了,之后就一直部署在自己的服务器上,期间还自己重构过几次,但是由于天生并不是编写前端的料子,所及虽然重构过几次,页面依然是非常的丑.这个爬虫采用SpringBoot编写,所以只需要有Java环境就可以运行,但是里面相关依赖了Redis、Mysql等组件,所以运行的话需要先将这个组件安装.
自动化更新脚本:
凭借自己对Linux的一知半解,编写了一个脚本,用来自动化从Git上拉取代码和更新打包运行。脚本主要分三部分:
运行脚本(run.sh):
1
nohup java -jar -Dserver.port=8089 xxx-1.0-SNAPSHOT.jar &>nohup.out &
停止脚本(stop.sh):
1
2
3
4for PID in `ps aux | grep 'java' | grep 'movie' | grep -v 'grep' | awk '{print $2}'`; do
kill -9 $PID
done
echo "[kill Simon service]"更新脚本(update.sh):
1
2
3
4
5
6
7
8
9
10cd ~/source/Zhihu #源码路径
git pull #更新代码
mvn package -Dmaven.test.skip=true #maven打包
cd ~/zhihu #进入项目目录
sh stop.sh
rm -f web-1.0.0-SNAPSHOT.jar
mv ~/source/Zhihu/web/target/web-1.0-SNAPSHOT.jar ~/zhihu
echo Project Update Finish
sh run.sh
echo Project Running
使用上部分自动化脚本的前提是你得配置了github的相关ssh key
其实配置github的相关key 也是很简单的,只需要在bash中输入ssh-keygen -t rsa -C "email"就可以了
数据备份
- 其中程序的主要代码都托管在github上了,需要备份的主要是sql数据。sql数据中有两部分:1.就是爬取的电影的sql 2.就是毕业设计做的爬取知乎的sql。
学习总结
😔,今天都已经是六月3号了,2018年都已经过半了,这个月中旬,我的身份也要从大学生变成了一名社会人了,虽然当初在学校的时候,由于各种原因,自己一直迫切着想要去工作,但是当想想自己马上就要离开校园,再也回不去的时候,还是有一点点感伤的。再想想自己的2017年后半年,一点新鲜的技术都没有学习到,用的东西和了解的东西也都过于局限。
New Life
既然是自己的博客,那么久可以畅所欲言和记录自己琐碎的事情.
4 月 16 日,毕业答辩。
虽然距离现在快两个月了,但那天,或者说那个星期发生的事情,我依然记得清清楚楚。
那天早上六点多我就醒了。简单收拾后,和邹恒一起打车前往火车站。
我们的车是九点半的,但七点多就到了,只能在候车室等了两个多小时。
当我们提着行李走到站台准备上车时,都觉得这三个月过得有点滑稽——
知识没长、见识没长、钱包也没长。
我们一路聊着各自的打算,他准备去深圳,而我准备……(此处略)
经过一天的“长途跋涉”,终于回到了学校。
哇,看到同学、回到宿舍的那一刻真的好幸福,
顿时又有种“还是个学生”的感觉,什么压力都没有。
下午五点多到宿舍,和同学聊了一会儿后,就去和张鹏见面。
和张鹏总是有聊不完的话题,可能都是因为对技术的热爱。
就像我和邹恒一样,总有聊不完的代码与问题
——虽然大部分时间都是他在讲我完全没听说过的技术 😂。
见到老哥的那一刻依然那么亲切,
还没来得及多聊近况,他就去见导师了。
唉,约好要一起去趟上海的计划,终究没能实现。
⸻
第二天,也就是答辩那天,早上七点多我还在床上睡觉,
室友突然喊我,说他程序有 bug 🤣,让我帮忙修。
带着困意和疲惫,我去了——
没想到这一去,竟然呆了一整天 😂,基本帮他们修了一天的 bug。
和同学们一起聊天、调侃、敲代码的感觉真的很开心!
只是因为一些个人原因,第二天晚上我就离开了学校。
后面的事情,就让它随风而去吧。
⸻
讲讲现在吧
也不知道是命运还是巧合。
原本信心满满的小杨,准备了一年的志愿项目,最终却没能如愿。
带着些许失落,她也加入了找工作的队伍。
命运总是出人意料——
从大一开始就打算工作的我,直到上个月才算真正踏入职场;
而原本计划继续读书的她,居然也提前进入了工作状态。
好在我们都还算勤奋努力,
虽然比不上那些大佬,但和过去的自己相比,已经有了不少进步。
她在南京找到了一份不错的工作,
无论是福利、待遇还是行业方向,都挺符合她的喜好。
就这样,我们在去年七月之后,又重新在一起了,
也算是结束了长达四年的异地恋。
每当下班早一些,或者到了周末,
我们就会一起做顿好吃的,一边聊天一边品尝。
(话说,现在我的厨艺确实越来越棒了 😋!)