服务器相关
·
一、前期准备:服务器与域名
1. 云服务器购买
- 推荐阿里云学生机,性价比高,适合学习 / 项目部署;
- 操作系统建议选择 CentOS 7.x(与后续 yum 安装、Docker 兼容性最好)。
2. 域名备案(国内服务器必填)
- 阿里云等国内服务器必须完成 ICP 备案,域名才能正常解析访问;
- 无备案域名可通过服务器 IP + 端口临时访问,但不适合正式上线。
二、项目打包(Spring Boot 项目)
1. Maven 打包配置
在pom.xml中添加spring-boot-maven-plugin插件,才能将项目打成可执行的 jar 包:
xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. 打包常见问题与解决
- 问题:本地代码运行正常,但打包失败
- 排查方案:
- 文件编码问题:IDEA 中
Settings → Editor → File Encodings,将全局、项目编码统一设置为UTF-8; - 依赖冲突:执行
mvn clean install -U强制更新依赖; - 主类未指定:在
spring-boot-maven-plugin中添加mainClass配置。
- 文件编码问题:IDEA 中
三、服务器环境安装(Docker + 依赖)
1. 安装 Docker(CentOS)
执行以下命令一键安装并启动 Docker:
bash
运行
# 1. 更新yum包
yum update -y
# 2. 安装依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 设置Docker yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装Docker
yum install -y docker-ce
# 5. 启动Docker并设置开机自启
/bin/systemctl start docker.service
/bin/systemctl enable docker.service
# 6. 验证安装
docker -v
2. 拉取常用镜像
提前拉取项目需要的环境镜像,避免部署时下载:
bash
运行
docker pull nginx
docker pull redis:5.0.3
docker pull java:8
docker pull mysql:5.7
3. 安装 Docker Compose(可选,用于多容器编排)
bash
运行
# 1. 下载二进制包
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 2. 添加执行权限
chmod +x /usr/local/bin/docker-compose
# 3. 验证安装
docker-compose -version
四、部署核心依赖(MySQL + Redis)
1. MySQL 5.7 部署(带数据 / 配置持久化)
① 创建宿主机挂载目录
bash
运行
mkdir -p /mnt/docker/mysql/{conf,logs,data}
cd /mnt/docker/mysql
② 启动 MySQL 容器
bash
运行
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v /mnt/docker/mysql/conf:/etc/mysql/conf.d \
-v /mnt/docker/mysql/logs:/logs \
-v /mnt/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7
-p 3307:3306:将宿主机 3307 端口映射到容器 3306 端口;-v:将容器内的配置、日志、数据目录挂载到宿主机,防止容器删除数据丢失;MYSQL_ROOT_PASSWORD=root:设置 root 用户密码为root,可自行修改。
③ 配置 my.cnf(可选)
在/mnt/docker/mysql/conf目录创建my.cnf,配置 MySQL 参数:
ini
[mysqld]
# 字符集配置
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 时区配置
default-time_zone = '+8:00'
2. Redis 5.0.3 部署
bash
运行
docker run -id \
--name=redis \
-p 6379:6379 \
redis:5.0.3
如需设置密码 / 持久化,可挂载配置文件到宿主机。
五、部署 Spring Boot 项目(Docker 方式)
1. Dockerfile 编写
在项目 jar 包同目录创建Dockerfile:
dockerfile
# 基础镜像(已安装Java 8)
FROM java:8
# 作者信息
MAINTAINER yourname
# 将jar包复制到容器内
COPY your-project.jar /app.jar
# 容器启动命令
CMD ["java", "-jar", "/app.jar"]
2. 构建并启动容器
bash
运行
# 1. 构建镜像(在Dockerfile目录执行)
docker build -t blog-admin .
# 2. 启动容器(映射端口,连接MySQL/Redis)
docker run -id \
--name=blog-admin \
-p 8080:8080 \
--link c_mysql:mysql \
--link redis:redis \
blog-admin
--link:容器间网络互通,Spring Boot 配置中可直接用mysql:3306连接数据库;- 需在
application.yml中修改数据库连接地址为容器名。
六、关键概念补充(面试 / 部署必知)
1. Dockerfile 原理
- Dockerfile 是文本文件,包含一条条构建指令;
- 每条指令构建一层镜像,基于基础镜像最终生成可运行镜像;
- 作用:开发、测试、运维环境完全一致,实现 “一次构建,到处运行”。
2. 传统 yum 安装 vs Docker 安装
表格
| 方式 | 优点 | 缺点 |
|---|---|---|
| yum 安装 | 命令简单,适合新手 | 依赖与系统绑定,卸载易残留;版本冲突风险 |
| Docker 安装 | 环境隔离,不污染宿主机;一键部署 / 迁移;数据可持久化 | 需掌握 Docker 命令,有一定学习成本 |
七、部署后验证
- 验证 MySQL/Redis 是否正常启动:
docker ps查看容器状态; - 验证项目接口:
curl http://服务器IP:8080/接口地址; - 验证静态资源:浏览器访问服务器 IP + 端口,检查页面是否正常加载。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)