部署BBS, ansible安装使用, Docker的安装与pull

一. 部署BBS

  1. 项目文件导入:

    项目放到opt下, 下面的day1130为项目名
    将数据转为sql文件放到opt下

  2. 创建bbs数据库, 并运行sql文件写入数据

    mysql> create database bbs charset utf8mb4;
    mysql> use bbs
    mysql> ource /opt/bbs.sql
    
  3. 修改settings.py的数据库配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'bbs',
            'HOST': "10.0.0.100",
            'USER': 'bbs',
            'PASSWORD': '123',
            'PORT': 3306,
        }
    }
    
  4. 创建mysql的bbs用户

    mysql> grant select,update,delete ,insert on bbs.* to bbs@'10.0.0.%' identified by '123';
    
    测试: 
    mysql -ubbs -p123 -h10.0.0.100
    
  5. 配置nginx

    vim /etc/nginx/conf.d/py.conf
    
    
    
    server {
    listen 80;
    server_name 10.0.0.100;
    client_max_body_size 100M;
    
    location  /static {
    alias /opt/day1130/static/;
    }
    
    location /media {
    alias /opt/day1130/media;
    }
    
    location / {
    index index.html;
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9091;
    
    # 这里配置的day1130是settings.py所在的文件夹.wsgi
    uwsgi_param UWSGI_SCRIPT day1130.wsgi;
    
    # 这里配置的项目根目录的路径
    uwsgi_param UWSGI_CHDIR /opt/day1130;
    }
    }
    
  6. 配置uwsgi

    关闭所有已有的uwsgi进程:
    kill -9 `ps -ef |grep uwsgi|awk {'print $2'}`
    
    写配置文件:
    vim  /opt/day1130/uwsgi.ini
    
    [uwsgi]
    socket = 127.0.0.1:9091
    master = true
    workers = 2
    reload-mercy = 10
    vacuum = true
    max-requests = 1000
    limit-as = 512
    buffer-size = 30000
    
  7. 启动uwsgi

    uwsgi --ini /opt/day1130/uwsgi.ini
    

二. ansible的安装与使用

  1. 安装ansible

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum install ansible -y
    
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
  2. 创建多台服务器的环境(克隆一台虚拟机代替)

    主机关机,克隆机开机,进入克隆机
    
    修改克隆机名为 standby
    hostnamectl set-hostname standby
    
    修改IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    删除UUID, 改下ip地址 : IPADDR=10.0.0.200
    
    修改host文件
    echo "改后的ip 改后的主机名">>/etc/hosts
    
    重启网卡
    systemctl restart network
    
  3. 秘钥链接的使用

    生成秘钥
    ssh-keygen
    公钥推给另一台机器
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.200
    给自己一个秘钥
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.200
    测试
    ssh 10.0.0.200 date
    
  4. 将这几个ip放到一个组,方便以后批量调用

    vim /etc/ansible/hosts
    [web]
    10.0.0.100
    10.0.0.200
    
  5. 测试

    [root@wzj ~]# ansible web -m ping
    显示如下则成功
    10.0.0.200 | SUCCESS => {
        "changed": false, 
        "ping": "pong"
    }
    10.0.0.100 | SUCCESS => {
        "changed": false, 
        "ping": "pong"
    }
    
    [root@wzj ~]# ansible all -m shell -a "df -h"
    显示如下则成功
    10.0.0.200 | CHANGED | rc=0 >>
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   47G  9.3G   38G   20% /
    devtmpfs                 478M     0  478M    0% /dev
    tmpfs                    489M     0  489M    0% /dev/shm
    tmpfs                    489M  6.7M  482M    2% /run
    tmpfs                    489M     0  489M    0% /sys/fs/cgroup
    /dev/sda1               1014M  125M  890M   13% /boot
    tmpfs                     98M     0   98M    0% /run/user/0
    
    10.0.0.100 | CHANGED | rc=0 >>
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   47G  9.3G   38G   20% /
    devtmpfs                 478M     0  478M    0% /dev
    tmpfs                    489M  124K  489M    1% /dev/shm
    tmpfs                    489M  6.7M  482M    2% /run
    tmpfs                    489M     0  489M    0% /sys/fs/cgroup
    /dev/sda1               1014M  125M  890M   13% /boot
    tmpfs                     98M     0   98M    0% /run/user/0
    
  6. ansible playbook自动化批量安装nginx

1. 写剧本
vim playbook_nginx.yml

- hosts: web
remote_user: root
vars:
  http_port: 80
tasks:
  - name: Add Nginx Yum Repository
    yum_repository:
      name: nginx
      description: Nginx Repository
      baseurl: http://nginx.org/packages/centos/7/$basearch/
      gpgcheck: no

  - name: Install Nginx Server
    yum: name=nginx state=present

  - name: Configure Nginx Server
    template: src=./default.conf.template dest=/etc/nginx/conf.d/default.conf
    notify: Restart Nginx Server

  - name: Start Nginx Server
    service: name=nginx state=started enabled=yes


handlers:
  - name: Restart Nginx Server
    service: name=nginx state=restarted
   
2.default.conf.template文件如下
cat default.conf.template 
server {
  listen       {{ http_port }};
  server_name  localhost;

  location / {
      root   /usr/share/nginx/html;
      index  index.html index.htm;
  }
}

3. 执行ansible-playbook
  检查语法
  ansible-playbook --syntax playbook_nginx.yml     
  模拟执行
  ansible-playbook -C playbook_nginx.yml 
  执行
  ansible-playbook playbook_nginx.yml   

三. Docker的安装使用

  1. 安装docker:

    curl  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    安装依赖
    yum install -y yum-utils device-mapper-persistent-data lvm2
    显示Docker的所有版本:
     yum list docker-ce.x86_64 --showduplicates | sort -r
     选择一个版本安装
     yum install -y --setopt=obsoletes=0 \
     docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
     docker-ce-selinux-17.03.2.ce-    1.el7.centos.noarch
    
  2. 启动Docker

    systemctl daemon-reload
    systemctl restart docker
    
  3. 镜像加速

    mkdir -p /etc/docker
    vim   /etc/docker/daemon.json
    
    {
     "registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"]
    }
    
  4. 使用docker装一些其他的环境,用于项目在其他系统上测试

    docker pull centos:6.9
    docker pull centos:7.5.1804
    docker pull nginx
    
  5. 查看下了哪些镜像

    docker images
    
  6. 启用centos6.9镜像

    docker run -it  centos:6.9
    
  7. 查看当前所在镜像

    [root@wzj ~]# cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core) 
    
  8. 查询镜像

    docker images  所有的镜像
    docker images -q 只看镜像ID
    docker inspect ID/name:tag  镜像的详细信息
    docker images --no-trunc 所有的镜像的详细信息删除镜像
    docker rmi -f ID/name:tag
    docker rmi -f `docker images -q`  批量删除所有镜像
    
  9. 导入导出镜像

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