首次项目部署
每日一句诗词
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-engine
2.2 安装 Docker
1 | # 1、yum 包更新到最新 |
2.3设置ustc镜像
1 | # 执行如下命令: |
Docker安装mysql数据库
安装mysql镜像
1 | # 搜索mysql镜像 |
配置mysql
1 | # 进入容器,操作mysql |
Docker安装Redis
1 | # 搜索Redis镜像 |
Docker 安装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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64user nginx;
worker_processes auto;
error_log /oj/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 4;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
server {
listen 443 ssl;
server_name gincode.icu;
ssl_certificate /etc/ssl/certs/xxxxx.pem;
ssl_certificate_key /etc/ssl/certs/xxxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /前台打包地址;
add_header 'Access-Control-Allow-Origin' '*';
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://后端接口地址:9001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
}
}
# 因为项目前期一直使用ip访问,将IP的流量转向域名
server {
listen 80;
server_name 后端接口地址;
rewrite ^/(.*)$ http://www.gincode.icu/$1 permanent;
}
}启动nginx
1
2# 在sbin目录下
./nginx测试项目
Comment