博客项目部署
系统环境需求
阿里云CentOS8.2
JDK >= 1.8
MySQL >= 5.7
Maven >= 3.0
Redis
Node.js
Nginx
-
新建目录
#tmp存放临时安装包 mkdir -p /data/tmp #service存放软件环境 mkdir -p /data/service #gitee存放代码版本控制库 mkdir -p /data/gitee
以上目录非必须,可以自行选择安装路径。
-
JDK >= 1.8 (推荐1.8版本)
从oracle官方网站上下载1.8版本中的最新版的JDK。下载完成后,把文件通过WinSCP或者XFTP上传到服务器上。接着进行解压和配置环境变量。
下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
#进入安装包目录,解压(注意自己的文件名) cd /data/tmp tar -zxvf jdk-8u261-linux-x64.tar.gz #把解压出来的文件夹转移到统一的地方 mv /data/tmp/jdk1.8.0_261 /data/service/jdk1.8.0_261 #修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径。 vim /etc/profile export JAVA_HOME=/data/service/jdk1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin #使环境变量生效 source /etc/profile #检查是否配置成功 java -version
-
Maven >= 3.0
从Maven官方网站上下载最新版的压缩包。下载完成后,进行解压和配置环境变量。
下载地址:https://maven.apache.org/download.cgi
#进入安装包目录,解压 cd /data/tmp tar -zxvf apache-maven-3.6.3-bin.tar.gz mv apache-maven-3.6.3 /data/service/ #修改环境变量/etc/profile,MAVEN_HOME修改为自己的路径。 vim /etc/profile export MAVEN_HOME=/data/service/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin #使环境变量生效 source /etc/profile #检查是否配置成功 mvn -v
-
Git
从git官方网站上下载最新版的安装包,安装即可。
下载地址:https://git-scm.com/
#通过yum安装,本方法最简单。但是无法控制安装的版本 yum -y install git #检查是否配置成功 git --version
ssh-keygen -t rsa -C "xx@xx.com" cat ~/.ssh/id_rsa.pub
-
安装docker
#卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine #安装 Docker Engine-Community sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker
上面失败了可以运行下面的指令
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
-
Mysql >= 5.7 (注意生产项目mysql都是独立部署)
安装教程:https://www.runoob.com/mysql/mysql-install.html
下载地址:https://dev.mysql.com/downloads/mysql/
访问Mysql的可视化数据库开发工具:Navicat Premium 工具的安装教程可自行百度搜索。
先在Linux中配置MySQL: https://www.cnblogs.com/Leehy0518/p/17302654.html
再在Docker中安装MySQL。
#查看可用的 MySQL 版本 docker search mysql #拉取5.7版本 docker pull mysql:5.7 #创建配置文件目录 mkdir -p /data/docker/mysql/data #启动镜像 docker run -p 3307:3306 --name mysql -v /data/docker/mysql/data:/usr/local/mysql/data -e MYSQL_ROOT_PASSWORD={这里的密码就是之前的在Linux配置的密码} -d mysql:5.7
-
Redis
安装教程:https://www.runoob.com/redis/redis-install.html
下载地址:https://github.com/tporadowski/redis/releases
Redis可视化管理工具:[AnotherRedisDesktopManager]:(https://github.com/qishibo/AnotherRedisDesktopManager/releases)
docker pull redis:latest docker run -itd --name redis-test -p 6379:6379 redis
-
Node.js
安装教程:https://www.runoob.com/nodejs/nodejs-install-setup.html
tar xf node-v14.15.4-linux-x64.tar.xz // 解压 cd node-v14.15.4-linux-x64/ // 进入解压目录 ./bin/node -v // 执行node命令 查看版本 //解压文件的 bin 目录底下包含了 node、npm 等命令,我们可以使用 ln 命令来设置软连接: mv /data/tmp/node-v14.15.4-linux-x64 /data/service/ ln -s /data/service/node-v14.15.4-linux-x64/bin/npm /usr/local/bin/ ln -s /data/service/node-v14.15.4-linux-x64/bin/node /usr/local/bin/
-
Nginx 安装
#首先安装nginx前置软件 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel #下载nginx软件安装包 cd /data/tmp wget http://nginx.org/download/nginx-1.19.6.tar.gz tar -zxvf nginx-1.19.6.tar.gz cd nginx-1.19.6 #设置安装目录为/usr/local/nginx ./configure --prefix=/usr/local/nginx make make install #启动nginx /usr/local/nginx/sbin/nginx
后端部署步骤
-
启动项目:把jar复制到程序目录,通过java命令行的方式启动jar包文件。因为本项目是使用了spring boot框架,所以jar中内置了web容器,不需要额外安装tomcat了。
-
修改后端application.properties
#添加 spring.mvc.servlet.path=/api #修改spring.datasource.url spring.datasource.url=jdbc:mysql://124.221.210.236:3306/blog?useUnicode=true&characterEncoding=UTF-8&serverTimeZone=UTC #添加Redis spring.redis.host=124.221.210.236 spring.redis.port=6379
依次点击IDEA右侧的Maven->Lifecycle->package
可以在左侧文件目录target中看到 blog-api-1.0-SNAPSHOT.jar
mkdir -p /data/app/blog-api #将打包好的jar包放入文件夹 cd /data/app/blog-api/ nohup java -jar blog-api-1.0-SNAPSHOT.jar &
nohup和&用来表示本命令需要在后台执行,这样退出命令行程序后,java程序也不会停止。
-
查看日志,验证项目是否成功运行。
tail -100 nohup.out
前端部署
-
修改config下的prod.env.js
'use strict' module.exports = { NODE_ENV: '"production"', BASE_API: '"http://124.221.210.236/api/"' }
-
在VS code通过npm run build将前端项目打包生成dist文件
mkdir -p /data/app/blog-app #将dist中的两个文件放入文件夹
Nginx配置文件
-
编写nginx.conf
cd /usr/local/nginx/conf vim nginx.conf #删除里面的内容,将下面复制进去 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server{ # 监听端口 listen 80; # 主机名称/地址 server_name 124.221.210.236; index index.html; # 前端服务 location / { root /data/app/blog-app; # 刷新页面后跳转到当前页面 try_files $uri $uri/ /index.html; index index.html; } # 后端api location /api { proxy_pass http://124.221.210.236:8888; } } } #重新加载配置文件nginx /usr/local/nginx/sbin/nginx -s reload
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)