SpringBoot项目:个人博客的搭建(三)-部署

个人博客的搭建(一)-项目准备
个人博客的搭建(二)-开发

部署

经过前面的开发,我们的项目已经可以满足我们的基本需求了,下面就是把我们的项目丢到服务器上,让它夜以继日的运行,为我们服务下去。

云服务器

购买

首先需要要拥有一台云服务器,阿里云或者腾讯云都ok,这里我购买的是腾讯云。

可以去购买一台学生机,136块还送一个一年的域名,还挺划算的。

镜像选择CentOS 7 X64 就好了

重置密码

购买完后,进入控制台就可以看见已经初始化了一个实例,不过还不能远程连接,因为不知道密码是什么

所以要重置一下服务器的密码

重置密码

安全组

选择腾讯默认提供的放通22,80,443,3389端口和ICMP协议 这个安全组。我们再编辑这个安全组,添加一个3306端口进去,因为我们需要远程连接数据库

远程连接服务器

重置完之后就可以借用一些客户端工具来连接到我们的服务器

这里我使用的是XShell,新建连接。输入服务器用户名和密码后就可以操作服务器了,如图

连接成功

安装环境

在CentOS 7 上安装软件很方便,很多软件都有在官方源里面,可以直接通过yum命令进行安装

jdk

yum install java-1.8.0-openjdk.x86_64

通过这种方式安装,可以不用自己设置环境变量

nginx

yum install nginx
开启nginx
systemctl start nginx  
设置nginx开机自启动
systemctl enable nginx

Linux下nginx的配置文件在/etc/nginx/nginx.conf

如何配置可以参考上一篇文章

mysql

这里安装的是mysql5.7版本,我们不从默认源获取,我们从mysql官方的Yum Repository获取

下载MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装官方源
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装MySQL
yum -y install mysql-community-server
卸载Yum源
yum -y remove mysql57-community-release-el7-10.noarch
启动MySQL
systemctl start  mysqld
开机自启动
systemctl enable  mysqld

安装后的mysql有一个默认密码,可以通过这个命令查询到

grep "password" /var/log/mysqld.log
使用MySQL
mysql -u root -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库

修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

密码规则:长度至少为8,必须含有数字,小写,大写字母和特殊字符。

配置MySQL允许远程连接

我们可能需要在自己电脑上用数据库客户端工具(如Navicat)来操作我们的数据库,这时候就需要让mysql允许我们进行远程连接。

进入mysql,使用

GRANT ALL PRIVILEGES ON *.* TO ['newuser'@'%'] IDENTIFIED BY 'newpwd' WITH GRANT OPTION;
*.*: 所有库名.表明
'newuser'@'%':
newuser:赋予那个数据库用户权限
%:允许连接的ip地址,%代表允许所有
'newpwd':代表连接时要使用的密码

设置完后,刷新权限

flush privileges;

服务器端口

因为腾讯云有安全组的存在,所以服务器本身的防火墙好像是没有开启的(不知道是不是这样,反正我买来的时候就查看到防火墙是关闭的)

你可以自行查看

systemctl status firewalld.service

如果Active: 显示dead说明没开启,显示running说明开启了,如果开启了你还需要把服务器的端口开放。主要有3306、80

开启80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

开启3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

修改完后,重载一下

firewall-cmd --reload

查看已经开放的端口

firewall-cmd --list-port

运行我们的项目

打包

先将我们的项目打成jar包,用IDEA工具,可以先clean一下,再运行package命令

项目打包

上传

将打好的jar包上传到服务器上,使用ftp工具,这里我用XFtp来上传到服务器

运行

转到jar包的目录中,执行指令运行

java -jar 项目的包名 --spring.profiles.active=pro

--spring.profiles.active=pro :告诉springboot使用生成环境的配置文件

后台运行

像上面那样直接运行的话,当你关掉远程连接的工具,这个进程会被杀死,所以我们需要后台运行,不依赖于登录用户就能一直运行

nohup java -jar 项目的包名 --spring.profiles.active=pro &

这样就能一直在服务器上运行,除非服务器关闭了

完结撒花

这样我们的博客项目算是完整结束了,以后可以在上面分享一些自己的学习心得等等

后期计划

  • 打算增加Redis缓存数据库
  • 使用Vue.js来实现前后端分离
  • 可能会使用SpringCloud来改造成分布式应用

你可能感兴趣的:(SpringBoot项目:个人博客的搭建(三)-部署)