个人博客的搭建(一)-项目准备
个人博客的搭建(二)-开发
部署
经过前面的开发,我们的项目已经可以满足我们的基本需求了,下面就是把我们的项目丢到服务器上,让它夜以继日的运行,为我们服务下去。
云服务器
购买
首先需要要拥有一台云服务器,阿里云或者腾讯云都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来改造成分布式应用