私有部署安装手册

安装部署图

image.png
  • nginx负载应用
  • 应用集群部署
  • 应用访问数据库
  • 应用访问缓存
  • 数据库时间做备份

Docker安装配置

docker 卸载旧版本

(如果安装过旧版本的话)

sudo yum remove -y docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

Set up repository

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

docker 线上载镜像

设置yum源

#sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce

docker 离线下载镜像

上传Docker离线下载的安装包

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm

指定上传文件离线安装

yum install -y ${上传路径}/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm

docker运行配置

vi /usr/lib/systemd/system/docker.service
image.png
 --graph /home/go-nifty/docker 

注:其中 /home/go-nifty/docker为数据盘相关路径

docker 启动

systemctl daemon-reload
systemctl start docker
systemctl enable docker

nginx 部署配置

nginx在线安装

docker pull nginx:latest

nginx离线安装

docker load < nginx.tar

nginx 创建相关系统目录

mkdir /home/go-nifty/volume
mkdir /home/go-nifty/volume/go-nifty-nginx
mkdir /home/go-nifty/volume/go-nifty-nginx/conf
mkdir /home/go-nifty/volume/go-nifty-nginx/html

nginx 配置

touch /home/go-nifty/volume/go-nifty-nginx/conf/nginx.conf

nginx.conf文件内容如下:

worker_processes  1;
 
error_log  /var/log/nginx/error.log warn;
 
events {
    worker_connections  1024;
}
 
http {
    include       mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    keepalive_timeout  65;
 
    upstream go_nifty_lb {
      server 192.168.0.1:81;
      server 192.168.0.1:82;
    }
 
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://go_nifty_lb;
        } 
    }
 
}

nginx 启动

docker run -d --restart=always --name=go-nifty-nginx \
--network=host \
-v /home/go-nifty/volume/go-nifty-nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/go-nifty/volume/go-nifty-nginx/html:/usr/share/nginx/html  \
-v /home/go-nifty/volume/go-nifty-nginx/logs:/var/log/nginx \
-d nginx

应用安装部署

应用基础镜像下载

docker pull registry.cn-chengdu.aliyuncs.com/going100/tomcat-gonifty

应用基础镜像离线下载

先在本地使用下载指令将镜像拉到本地,再使用以下指令将镜像导出为一个压缩文件。

docker save registry.cn-chengdu.aliyuncs.com/going100/tomcat-gonifty >  tomcat-gonifty.tar

再将文件通过移动介质复制到部署服务器中,再通过以下指令导入镜像。

docker load < tomcat-gonifty.tar

注:以上镜像只是基础tomcat镜像,没有应用包,还需要通过以下操作将应用到入tomcat基础镜像中。
具体操作如下:

在本地创建一个文件夹,如:tomcat-private,在目录中创建一个Dockerfile文件,并将最新的go-nifty.war包放在该目录下。如下图所示:


image.png

其中,Dockerfile文件内容如下:

FROM registry.cn-chengdu.aliyuncs.com/going100/tomcat-gonifty:latest
ADD go-nifty.war /usr/local/tomcat/webapps/

如果是windows系统下,使用命令行到该目录下执行构建镜像命令:

D:\worksapce-tmp\tomcat-private> docker build -t go-nifty-backend:latest   .

最终将生成 后端应用镜像: go-nifty-backend:latest

启动应用

docker run --restart=always  --name go-nifty-backend -d  \
-p ${HTTP-PORT}:8080
-p ${HTTPS-PORT}:443
-v ${DOCUMENT-PATH}:/root/project/go-nifty/document
-v ${DOCUMENT-PATH}:/root/project/go-nifty/upload
-v ${LOG-PATH}:/usr/local/tomcat/logs
go-nifty-backend:latest

其中:

  • HTTP-PORT 是http映射端口,如果应用在同一个宿主机做集群,端口不能冲突。
    可映射为:8081,8082等
  • HTTPS-PORT 是https映射端口,如果应用在同一个宿主机做集群,端口不能冲突。
    可映射为:444,445等
  • DOCUMENT-PATH 是附件存储路径
  • LOG-PATH 是日志输出路径。

redis安装部署

redis下载镜像

docker pull redis:4.0.14

redis离线下载镜像

docker load < redis.tar

redis创建文件目录

mkdir /home/go-nifty/volume
mkdir /home/go-nifty/volume/go-nifty-redis

redis启动应用

docker run --restart=always  --name go-nifty-redis -d  \
--network=host \
 -v /home/go-nifty/volume/go-nifty-redis:/redis-master-data \
redis:4.0.14

mysql安装部署

mysql下载镜像

docker pull mysql:5.7

mysql离线下载镜像

docker load < mysql.tar

mysql创建文件目录

mkdir /home/go-nifty/volume
mkdir /home/go-nifty/volume/go-nifty-mysql/
mkdir /home/go-nifty/volume/go-nifty-mysql/data
mkdir /home/go-nifty/volume/go-nifty-mysql/conf

mysql创建配置文件

touch /home/go-nifty/volume/go-nifty-myql/conf/mysqld.cnf

[mysql]
default-character-set = utf8
 
[mysql.server]
default-character-set = utf8
 
[mysqld_safe]
default-character-set = utf8
 
[client]
default-character-set = utf8
 
[mysqld]
log-bin=mysql-bin
binlog-ignore-db=mysql
server-id=1001
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
character_set_server = utf8
lower_case_table_names=1
#log-error      = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections = 500
max_allowed_packet = 16M
default-storage-engine=InnoDB
########innodb settings########
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_size=128M
innodb_log_buffer_size=16M
innodb_log_file_size=256M

mysql 启动

docker run --restart=always  --name go-nifty-mysql -d  --network=host  \
-e MYSQL_ROOT_PASSWORD=1qaz@WSX \
-e lower_case_table_names=1 \
-e TZ=Asia/shanghai \
-v /home/go-nifty/volume/go-nifty-mysql/data:/var/lib/mysql  \
-v /home/go-nifty/volume/go-nifty-mysql/conf:/etc/mysql/mysql.conf.d \
mysql:5.7

基它

磁盘挂载

fdisk -u /dev/vdb
image.png

查看新分区情况

lsblk /dev/vdb1

通过该指令将看到新的分区/dev/vdb1.

使用

指令创建xfs文件系统:

mkfs.xfs  /dev/vdb1
image.png

查看新分区的详情

blkid /dev/vdb1
image.png

设置开机自动挂载,打开自动挂载文件

vi /etc/fstab

加入如下图所示内容行:


image.png
UUID=uuid  /home/go-nifty          xfs     defaults        0 0

reboot 重启系统

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容