89214456 2020-01-18
本文介绍Spring Boot、Vue 、Vue Element编写的项目,在Linux下的部署,系统采用Mysql数据库。按照本文进行项目部署,不迷路。
典型的软件开发,经过“需求分析”,“概要设计”,“详细设计”,“开发及单元测试”,“前后端联调”,“生产环境上线”。到了发布到生产环节的环节,紧张的神经,终于可以松一口气了!!!
且慢,部署也是很重要的一环,稍有不慎就会“前功尽弃”。
开发中,每个人的开发环境、工具可能都不同。目前大部分人用Windows(Win 10)开发,部分用Mac系统开发,还有极少数用Linux系统开发。但,为了运行的稳定,开发的系统大部分都部署在Linux平台。本文采用Centos 7部署Spring Boot项目,并介绍前后端项目的打包和部署。
1)开发环境说明
本着一切为了“开发效率”,在项目开发的时候:
后端采用了IntelliJ IDEA作为Spring Boot的开发工具(其实用Eclipse也是Ok的),用了典型“controller、service、dao三层架构”;
前端采用Vs Code作为Vue及Vue Element的开发工具,用webpack进行项目打包,“地球人都知道,这里就不多啰嗦了”;
用Git作为分布式版本控制系统;
Mysql数据;
用mybatis作为持久层框架。
2)Centos 7安装Jdk,MariaDB
Centos 7操作系统的安装,略!网上有大量的教程,不再赘述。
安装Jdk环境
最简单的方式,莫过于用yum安装,一个命令搞定(千万别告诉我你还在用32位系统):
yum install java-11-openjdk.x86_64
安装MariaDB
[注意] 一般情况下Linux安装的时候会包含Mysql,这将导致MariaDb安装不成功。
首先运行如下命令检查是否有Mysql:
rpm -qa | grep mariadb
如果系统里面预装了Mysql,则先卸载:
yum remove mysql mysql-server mysql-libs compat-mysql51
然后添加源(都2020年了,不会用vi,拿什么来拯救你):
vi /etc/yum.repos.d/MariaDB.repo
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
安装MariaDb:
yum -y install MariaDB-server MariaDB-client
启动MariaDb服务:
systemctl start mariadb #启动服务
加入开机启动:
systemctl enable mariadb #设置开机启动
3)开放防火墙端口
默认情况下,防火墙拦截是不能访问的,此处我们开放80、22端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
[注意] 需要重启防火墙,命令是:
firewall-cmd --reload
查看是否添加成功,这里我就不截图演示了:
firewall-cmd --zone=public --list-ports
4) 前后端打包及部署
忙碌了大半天,准备工作终于做好了。激动人心的时刻终于要来了!!!
前端项目打包
前端项目采用webpack进行管理,编译非常简单,也是一个命令搞定(so easy!!!):
npm run build
运行该命令后,会在项目的根文件夹下生产一个dist
目录。
后端项目打包
将前端项目拷贝到springboot项目的resources的static目录下,然后运行mvn clean package
构建项目,即可生成一个项目的jar文件,此处文件名为“myproject.jar”(该名称可以在pom文件中进行设定)。
数据库部署
安装MariaDb后,默认root用户是没有密码的,此时通过mysql -uroot
命令登录到MariaDB,然后通过如下命令修改密码为654321
:
mysql> use mysql; mysql> update user set password=password('654321') where user='root' and host='localhost'; mysql> flush privileges;
之后就可以导入数据库脚本了,我是通过Navicat
客户端操作的。当然还有其他的工具,需要经过“大象装冰箱”三步走:
新建数据库,设置编码utf-8,导入Sql文件。
运行并见证奇迹
我们通过如下命令运行项目,如未报错,则可以通过http://ip
访问项目:
nohup java -jar myproject.jar >log.txt &
项目经过辛苦的开发,终于进入上线,试运行。大公司一般会有专门人员负责部署工作,一般的小公司,开发人员要“全栈”。从需求,开发,测试,部署,等等都要负责。
此文不涉及自动化部署,也不谈docker等方式部署。
传统工艺,纯手工打造,值得拥有!
本文是个人项目部署的经验总结,结合了互联网上众多成功案例,不敢独自居功。
如果您阅读本文后哪怕有一丢丢收获,请不要吝啬你手中关注和点赞的权力,谢谢!