带你入门自动化运维(下)

  1. 代码发布
    步骤,流程
    1 获取代码
    程序员提交代码到代码服务器

    2 打包代码(代码服务器执行)
    方便传输
    tar zcf 压缩文件名 待压缩内容
    tar xf 压缩文件名
    zcat 压缩文件名 (查看压缩包内容)

    3 传输代码
    线上服务器–获取—》代码服务器代码
    scp 远程主机:绝对路径 目标路径
    先登录后拷贝

    4 关闭应用
    先关离用户近的,后关离用户远的

    5 解压代码

    6 放置代码
    先备份后放置
    备份加时间戳
    mv tar_code.tar.gz ~/tar_code.tar.gzdate +%Y%m%d%H%M%S

    7 开启应用
    先开离用户远,在开离用户近的

    8 检查
    netstat -ntl | grep 80

  2. 基础目录环境
    mkdir /data/{server,logs,backup,softs,virtual,scripts,codes} -p
    一步创建所有目录–》父目录不存在一并创建

  3. 主机网络环境
    1 客户端生成密钥对(在线上服务器运行)
    ssh-keygen -t rsa
    公钥放在:/root/.ssh/id_rsa.pub
    2 将公钥传给服务器(传给代码服务器)
    在代码服务器中/etc/ssh/sshd_config定义了秘钥存储文件(AuthorizedKeysFile %h/.ssh/authorized_keys)
    echo “公钥”>> authorized_keys
    3 重启ssh服务 (在代码服务器执行)

  4. Django安装
    1 虚拟环境安装
    1 进入虚拟环境
    export WORKON_HOME=/data/virtual/
    source /usr/local/bin/virtualenvwrapper.sh
    mkvirtualenv -p python3 django
    2 sz rz(xshell)
    3 安装django
    1 查看INSTALL
    2 python setup.py build(可选)
    3 python setup.py install
    4 配置django
    1 创建项目
    django-admin startproject itcast
    2 创建应用
    python manage.py startapp test1
    修改test1/views.py
    3 注册应用
    修改 itcast/settings.py
    4 关联URL
    修改 itcast/urls.py
    5 启动django
    python manage.py runserver > /dev/null 2>&1 &

  5. nginx 安装
    1 pcre插件安装(nginx依赖旧版本pcre)
    ./configure && make && make install
    ./configure 裁剪软件 定制安装路径
    make 编译
    make install 安装

    2 nginx安装
    ./configure --prefix=/data/server/nginx --without-http_gzip_module
    (指定安装路径在/data/server/nginx,裁剪gzip模块)
    make && make install

     动态库链接失败
     ldd 查找搜索路径
     ln -s  /usr/local/lib/libpcre.so.1 /lib/x86_64-linux-gnu/libpcre.so.1
     (创建软连接)
     
     配置代理:
     	http配置段server段增加location配置
     	location /hello/ {
     		proxy_pass http://127.0.0.1:8000;
     	}
    
  6. 手工代码发布
    1 获取代码

    2 打包代码(代码服务器执行)
    cd /home/dev/data/codes
    tar zcf tar_code.tar.gz test1/
    3 传输代码
    cd /data/codes
    scp dev@192.168.42.71:/home/dev/data/codes/tar_code.tar.gz .
    4 关闭应用
    cd /data/server/nginx/sbin
    ./nginx -s stop
    kill lsof -ti :8000
    5 解压代码
    cd /data/codes
    tar xf tar_code.tar.gz
    6 放置代码
    cd /data/server/itcast/test1
    mv views.py /data/backup/views.py-date +%Y%m%d%H%M%S
    cd /data/codes/test1
    mv views.py /data/server/itcast/test1/
    7 开启应用
    export WORKON_HOME=/data/virtual/
    source /usr/local/bin/virtualenvwrapper.sh
    workon django
    cd /data/server/itcast
    python manage.py runserver > /dev/null 2>&1 &
    cd /data/server/nginx/sbin
    ./nginx
    8 检查
    netstat -ntl | grep 80

  7. 简单脚本编写
    1 命令罗列
    2 固定内容变量化(方便修改)
    3 功能函数化(方便扩展)

    远程执行命令:
    ssh 远程主机登录用户名@远程主机ip地址 “命令”

  8. 大型脚本编写
    1 搭建框架(将步骤变成函数)
    2 命令填充(将命令写到函数内)
    3 日志功能:
    1 定义写日志函数(将时间日期步骤等信息重定向追加到文件)
    2 在各个函数内调用写日志函数

    4 锁文件功能:
    1 编写加锁解锁函数—》创建和删除文件
    2 在所有步骤之前先调用加锁函数,所有步骤完毕后调用解锁函数
    3 在脚本执行前先判断文件是否存在

    5 功能参数化
    case判断脚本参数是否是当前支持的功能
    增加参数个数安全性的判断
    11 脚本调试
    bash -n 脚本名 检查语法
    bash -v 脚本名 先打印一遍脚本内容再执行
    bash -x 脚本名 打印一句执行一句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值