一次服务器迁移的记录

2022-2-21 16:44:44

#linux

51

前言

  • 最近因为原有的云服务器到期了,但是旧服务器的续费费用贵到爆炸,这我怎么忍得了!🤬正好腾讯云又在搞新活动,轻量级云服务器2核4g8m只要99首年,这不直接换一个服务器,继续薅首年羊毛?

正文

环境配置

  • 更换服务器后首先要做的当然是配置各种环境以及安装各种软件了,以便接下来的数据迁移以及上线网站的工作
  • 这次新的服务器我选择的是centos8的系统环境,因此接下来的各种操作都是基于centos8的系统环境来进行的

mysql安装

  • 这一部分内容由于安装过程时间与本文编写时间隔了有些时候了,因此记不大清楚,所以就此略过😘

nginx安装与配置

  • 上一个服务器我选择的是apache这一web服务器软件,而这次趁着更换了新服务器,我更换了nginx这一更加轻量级的web服务器软件

  • 下载nginx压缩包到系统上

    • wget -c https://nginx.org/download/nginx-1.21.6.tar.gz
  • 将压缩包解压到该目录

    • tar -zxvf ./nginx-1.21.6.tar.gz
  • 进入解压后的目录

    • cd ./nginx-1.21.6
  • 执行configure文件

    • ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gzip_static_module --with-pcre
    • --prefix 指定安装路径
    • --with-http_stub_status_module 允许查看nginx状态的模块
    • --with-http_ssl_module 支持https的模块
  • 编译与安装

    • make && make install
  • 完成上一步后就算安装成功了,下面是一些ngnix的相关命令

./nginx:            启动nginx
./nginx -s quit:   (温和)此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:   (强硬)此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
./nginx -s reload   重启nginx(不推荐此方法,推荐先停止在启动)

java安装

  • java的安装可以直接使用yum来自动安装,可以直接自动配置好相关的环境变量,十分省事方便
  • 首先运行以下命令查看是否已经安装
    • java -version
    • rpm -qa |grep java
    • rpm -qa |grep jdk
    • rpm -qa |grep gcj
  • 如果想要重新安装java的话,需要先运行以下命令
    • yum -y remove java-1.8.0-openjdk-headless.x86_64 yum卸载命令
    • rpm -qa | grep java | xargs rpm -e --nodeps rpm批量卸载
  • 查看java版本
    • yum list java*
  • 选择一个版本的jdk进行安装
    • yum install java-1.8.0-openjdk* -y
  • 检验,如果该命令正常输出则安装成功
    • java -version

数据迁移

  • 不得不说navicat确实是一个简单强大的软件,这里我直接使用navicat的可视化界面进行了复制迁移,没花上多大功夫就完成了这一工作

上线网站

  • 首先自然是对前后端的代码进行更改,后端需要更改jdbc的连接地址也就是mysql的数据库链接,而前端只要更改axios的默认地址即可

后端

  • 运行打包程序,输出jar包并将其上传到云服务器上
  • 运行jar包,该命令使该jar包在后台运行并且输出日志到log.txt文件中
    • nohup java -jar demo-1.0.5.jar >log.txt &
  • 但是该命令存在一定缺陷,因为是运行在后台,因此意味着当我更新后端代码版本的时候需要先手动杀死原有jar包进程,接着才能运行新版本的jar包,需要后续改进
  • 这里记一些进程相关命令
    • ps -l 输出现有进程
    • kill 进程号 杀死指定进程号的进程

前端

  • 运行打包命令,输出生产环境文件并将其上传到nginx文件夹下的html文件夹里,接着就可以通过访问服务器地址来访问自己的网站了
  • 这里需要提一下,因为我的前端代码的vue-router使用的是历史模式,所以需要在服务器上对nginx进行额外的配置,不然就会出现刷新页面就变成空白页的问题
  • 这一配置过程也比较简单,首先打开nginx的文件夹,在对底下conf文件夹中的nginx.conf文件进行更改编辑
  • 将文件中的相关内容改为如下所示
location / {
  try_files $uri $uri/ /index.html;
}