前言
- 最近因为原有的云服务器到期了,但是旧服务器的续费费用贵到爆炸,这我怎么忍得了!🤬正好腾讯云又在搞新活动,轻量级云服务器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;
}