SpringBoot开源项目个人博客——(13)虚拟机体验线上部署

系统是centos7,用virtualbox或者vm使用虚拟机都可以,我使用的是vm。

关于一些软件的安装,可以使用yum安装,笔者也推荐大伙使用yum安装(直接看oneStar的部署过程即可),(当时没有配置镜像源,下载大的时候就慢,这些就直接下载好压缩包,放到系统解压安装)。

阿里云的镜像软件包(下载快): https://developer.aliyun.com/mirror/

软件配置的手册:

  • 使用了b站up(codesheep)的这个视频后端仔的服务器上会装哪些编程环境和软件?一次性备齐服务器常用工具环境和软件设施:Linux服务器Java后端开发编程环境视频教程:所用的手册,不懂也能很快配置起来

  • oneStar写的线上部署的也可参考:https://onestar.newstar.net.cn/blog/52

所用软件包:

(但是自己在部署过程没有做记录,后面才想写这篇操作记录,大部分是直接用羊哥的手册配置成的,理论虚拟机(纯净的)应该是能跑起来,如果有遇到问题,只能自己网上解决了。所以能用yum下载的尽量用yum安装

  • jdk1.8
  • mysql
  • nginx

所用工具:

  • xftp

这里大部分用手册的截图展示配置过程,我也是这样跟着操作的。


jdk配置

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第1张图片

mysql配置


SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第2张图片

这里配置完后,本机电脑Navicat可以远程连接上数据库,就可以创建博客的数据库。


提前要关掉虚拟机的防火墙

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第3张图片

  • 把本机的数据库转储结构

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第4张图片

在虚拟机的mysql中,新建数据库,新建查询语句,运行转储的sql结构文件,然后创建数据表成功即可。(这样虚拟机mysql就有博客需要的数据表了)

然后再把user表中的用户信息,复制到虚拟机的数据表中。

准备工作完成

项目部署

将项目打包部署到服务器了,这里采用jar包的方式部署,使用idea打成jar包,然后将jar包上传到服务器在后台运行

  • 点击idea右边的Maven Projects,双击clean,执行完后再双击package打包

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第5张图片

控制台会显示BUILD SUCCESS,并有jar包文件的大小,在target文件夹下面会生成一个myblog-0.0.1-SNAPSHOT.jar的jar包,这个就是要上传到服务器进行部署的jar包。
SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第6张图片

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第7张图片

这里引用oneStar的部署路径

  • 上传

在服务器中创建一个文件夹用来存放项目的

# 创建文件夹
mkdir myblog

# 进入目录
cd myblog

(在xftp中,先连接上虚拟机)点进刚创建的文件夹,右击空白处,点击上传,选择myblog-0.0.1-SNAPSHOT.jar包,将jar包上传

这里让jar包在服务器后台运行,进入jar包文件夹,执行命令运行jar包

# 进入jar包文件夹
cd /home/myblog

# 后台运行jar包
nohup java -jar myblog-0.0.1-SNAPSHOT.jar &

若nohup报错,加上source /etc/profile; nohup java -jar myblog-0.0.1-SNAPSHOT.jar &

此时就可以运行jar包了,然后就像在本机一样,在虚拟机访问localhost:8080也能成功,在本机访问虚拟机ip:8080也可以成功访问到。


增加体验,用Nginx,我们项目用的端口是8080,所以这里要将端口进行转发,将8080端口转发到80(以后域名就这样转发使用的)。

Nginx配置

这里推荐用yum安装,但是当时出了点问题,急着就用羊哥的方法,后面配置不起来环境变量,使用起来不太方便。(用户自行选择)

yum下载安装NGINX

# 下载NGINX:
yum install nginx

# 启动nginx:
systemctl start nginx

# 加入开机启动:
systemctl enable nginx

# 查看nginx的状态:
systemctl status nginx

压缩包安装包安装

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第8张图片

配置NGINX

这里是我自己的方法,直接在nginx.conf里面修改。(更详细,可以看oneStar老哥博客写)

我使用压缩包下载,配置文件的文件夹在/usr/local/nginx/conf/nginx.conf

修改配置文件,把监听80端口映射到8080即可。

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第9张图片

不是线上部署,没有服务器域名(用localhost)。

server {
    listen       80;
    server_name  localhost;
    
    access_log /logs/host.access.log;
    
    location / {
        proxy_pass   http://自己虚拟机的ip:8080;
        index  index.html index.htm;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    
}

重启Nginx

# 重启:
nginx -s reload

#
/usr/local/nginx/sbin/nginx -s reload

运行项目

  • 在虚拟机中

localhostlocalhost:8080都可以访问,说明Nginx配置成功。

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第10张图片

  • 在本机上(访问成功)

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第11张图片

SpringBoot开源项目个人博客——(13)虚拟机体验线上部署_第12张图片

这样一个模拟版的线上部署完成。

推荐这里有条件的,自己用云服务器安装(它们yum安装是不会慢的)。


关了nginx,就只能用8080访问。 (再次验证Nginx是真的配置成功的)
在这里插入图片描述

这次虚拟机配置的很失败,用完就不删了。


至此,项目从开发到模拟部署的博客记录全部完毕。

(完结撒花!!!)

你可能感兴趣的:(spring,boot,服务器,后端,web,java)