本文主要介绍如何搭建个人网站,并将项目部署到腾讯云。
前端:React,
后端:SpringBoot,
云服务:centos7
1 前端项目的创建与部署
1.1 创建项目
建议使用create-react-app创建react项目包,简单快捷。
npx create-react-app <项目名>
# npx create-react-app myreact-2021
1.2 运行
进入项目路径,开始运行
cd myreact-2021
npm run start
1.3 打包
直接使用项目自身的build指令进行打包,完成后会在项目根目录多出一个build文件夹
npm run build
build文件中包含项目打包后的js、css、html…等资源。下一步的部署,就是将这一build文件上传到云服务器,并通过nginx指向build。
1.4 部署
将上一过程中的build文件上传到云服务器,推荐使用ForkLift,使用教程。
1.5 运行
进入云服务器,找到nginx文件,修改root指向build路径,nginx配置教程。
root /.../build;
上述操作完成启动nginx,
sudo nginx
打开域名后,页面即为react项目的首页。
2 后端项目的创建与部署
建议使用idea进行springboot项目的开发(专业的事情交给专业的工具,简单些)。
2.1 创建项目
2.2 数据库的安装与使用
mysql:官方地址
mysql管理工具(Navicat/DBeaver/其他)
1)Navicat(需破解):官网地址
2)DBeaver(Community版免费):官网地址
如果本地不想安装mysql,也可以直接在服务器上进行安装,然后在本地访问,服务器安装mysql并实现远程访问。
相关指令如下:
yum list installed mysql* # 检测服务器上是否安装过mysql
mysql -V # 查看mysql版本
service mysqld start # 运行mysql
service mysqld status # 查看是否启动
grep "password" /var/log/mysqld.log # 取得mysql初始化随机密码
mysql -uroot -p’这里是密码‘ # 登录mysql
alter user user() identified by '你的新密码'; # 更改root密码(注意最后的';')
flush privileges; # 刷新MySQL的系统权限相关表
show databases; # 显示所有的数据库
use mysql; # 来更改管理员信息
select user,host from user; # 查询所有的管理员
update user set host = ‘%’ where user = ‘root’; # 更新root用户的本地访问为% ,即代表可以远程访问
create user '子用户名'@'%' identified with mysql_native_password by '子用户密码'; # 添加子用户的用户名和密码
grant all privileges on *.* to '子用户名'@'%' with grant option; # 设置子用户可供远程访问
2.3 部署
将本地springboot项目打包后,上传到云服务器并启动,Spring boot项目部署到腾讯云服务器。
打包流程
1)IDEA中打开项目,maven =》 project(你的项目名) =》 Lifecycle =》 package(双击) =》当前springboot项目打包完成。
2)打包好的jar包自动放在项目名 =》 target =》 xxx.jar。
关于项目的启动并保持运行(即使关闭终端也保持运行):进入.jar所在路径,并在控制台输入
nohup 原来的指令 &
# nohup java -jar xxx.jar &
回车,nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。
至此,前后端项目都已安装在云服务器上。