首次项目部署
每日一句诗词
loading...
loading...
1. 服务器配置
- 2 核 4G(Centos 7)
CentOS 安装 Docker
官方网站上有各种环境下的安装指南,这里主要介绍 Docker CE 在 CentOS 上的安装。2.1 卸载(可选)
如果之前安装过旧版本的 Docker,可以使用下面命令卸载:1
2
3
4
5
6
7
8yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine2.2 安装 Docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 1、yum 包更新到最新
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(推荐)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(可能失败)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v
# 6、 启动docker
systemctl start docker2.3设置ustc镜像
1
2
3
4
5
6
7
8
9# 执行如下命令:
mkdir /etc/docker
vi /etc/docker/daemon.json
# 插入下面这条配置
{
"registry-mirrors": ["https://xd6yheuz.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart dockerDocker安装mysql数据库
安装mysql镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 搜索mysql镜像
docker search mysql
# 拉取mysql数据库
docker pull mysql:8.0.32
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir /root/mysql
cd /root/mysql
# 创建并启动守护式容器
# -i:表示运行容器 -t:表示容器启动后会进入其命令行
# -d:会创建一个守护式容器在后台运行 -v:表示目录映射关系
docker run -id \
-p 3307:3306 \
--name=blog_mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-v /root/mysql/logs:/logs \
-v /root/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.32
# 对外开放指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent配置mysql
1
2
3
4# 进入容器,操作mysql
docker exec -it blog_mysql /bin/bash
# 在外部使用navicat将数据库脚本导入
# exit 退出镜像Docker安装Redis
1
2
3
4
5
6
7
8
9# 搜索Redis镜像
docker search Redis
# 拉取mysql数据库
docker pull redis:5.0
# 创建并启动守护式容器
docker run -id --name=blog_redis -p 6379:6379 redis:5.0
# 对外开放指定端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 使用外部机器连接redisDocker 安装RabbitMQ
1 | 拉去镜像 |
部署后端
修改后端配置文件
- 修改mysql和redis的真实地址
- 然后打包上传到服务器
docker-compose的安装
3.1 安装 DockerCompose
1
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 如果下载慢,可自行去github下载相应版本然后更名为docker-compose,上传到服务器的/usr/local/bin目录下
3.2 设置文件可执行权限
1
chmod +x /usr/local/bin/docker-compose
3.3卸载
1
2
3
4
5
6# 二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
# docker 删除容器
docker rm -f <containerid>
# 可以按照镜像id删除镜像,命令如下:
docker rmi 镜像id编写Dockerfile文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# FROM java:8
#这是由于Docker官方已经弃用java8镜像,想使用jdk1.8的话,可以使用openjdk。
# 解决办法是,将Dockerfile改为
FROM openjdk:8
# 持久化文件
VOLUME /temp
# 添加jar包到容器 并从新命名
ADD adminblog-1.0-SNAPSHOT.jar admin.jar
RUN bash -c 'touch /admin.jar'
ENTRYPOINT ["java", "-jar", "admin.jar"]
# 暴露端口
EXPOSE 9002因为两个项目都是使用的jdk8所以直接再linux上安装jdk8复用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# 查看可安装java版本。执行成功后可以看见如下的结果
yum -y list java*
# 选择一个java版本进行安装,这里我们希望安装java1.8
yum install -y java-1.8.0-openjdk-devel.x86_64
# 查看已安装的jdk版本
java -version
# 执行下面指令可以查看java安装目录
rpm -ql java-1.8.0-openjdk
# 如果使用官网下载导入需要配置环境变量
vim /etc/profile
# 在文件底部输入以下信息,并保存
JAVA_HOME=/home/java/jdk1.8.0_131
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH
# 刷新环境变量配置文件使其立刻生效
source /etc/profile
# 最好建一个/usr/bin/java的java的超链接。
ln -s /home/java/jdk1.8.0_131/bin/java /usr/bin/java构建docker 镜像
1
2
3
4
5
6
7
8# 构建docker 镜像
docker build -f Dockerfile -t front-api:v1 .
# 运行镜像
docker run -id -p 9002:9002 front-api:v1
# 构建docker 镜像
docker build -f Dockerfile -t back-blog:v1 .
# 运行镜像
docker run -id -p 9001:9001 back-blog:v1前端打包
修改配置文件
1
2
3
4
5
6
7
8# 前台Vue项目修改项目运行端口是在config文件夹下的index.js文件当中
port: 80
# 前台接口的BaseURL在src文件夹下的store文件当中修改服务器地址
baseURL:'http://192.168.67.129:9001/'
# 然后打包将dist文件上传到服务器
npm run build
# 前台管理界面修改配置文件.env请求接口为真实服务器地址
VUE_APP_BASE_API = 'http://192.168.67.129:9002'安装nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。
yum install gcc-c++
# Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。
yum install -y pcre pcre-devel
# 安装依赖的解压包。
yum install -y zlib zlib-devel
# 创建文件夹存放nginx
mkdir /usr/local/nginx
# 远程下载nginx 没下载wget可在官网下载后传输的服务器
wget https://nginx.org/download/nginx-1.22.1.tar.gz
# 解压Nginx
tar -zxvf nginx-1.16.1.tar.gz
# 安装nginx
./configure --prefix=/usr/local/nginx
make && make install配置nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36worker_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 localhost;
location / {
root /ginblog/front-blog/blog;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
server {
listen 81;
server_name localhost;
location / {
root /ginblog/front-blog/admin;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
}启动nginx
1
2# 在sbin目录下
./nginx测试项目