zoukankan      html  css  js  c++  java
  • 标准化运维

    一、服务器安装标准(基于VM-EXSI进行服务器资源管理):
    1、web服务器:
            安装标准: 系统:centos6.6,为了环境纯净必须选择 basic server 安装
            分区:/boot-200M、swap-6G、其余均给 / 目录
            文件系统:ext4
    2、DB、cache服务器(mysql):
            安装标准: 系统:centos6.6,为了环境纯净必须选择 basic server 安装
            分区:/boot-200M、swap-6G、其余均给 / 目录
            文件系统:XFS
           (内网测试环境基于exsi虚拟机,做好快照,且不考虑raid)
     
    二、服务器具体部署流程:
    1、建立服务器帐号,避免直接使用root权限。
            研发帐号:
            统一增加研发应用帐号linux用户 appuser:appuser 主目录在/home/appuser
            sudo su - ; su - appuser 切换到appuser用户,修改crontab(crontab -e)
            数据库帐号:
            增加数据库帐号linux用户 mysql:mysql 主目录 /home/mysql
            允许:sudo su -切换到root权限,启动mysql权限(cp xxx /etc/init.d/mysqld; chmod -R 700 /etc/init.d/mysqld; chkconfig --add mysqld;
            chkconfig mysqld on; service mysqld start)
            sudo su - ; su - mysql 切换到mysql用户,修改crontab(crontab -e)

            (内网可以允许不禁用直接登录root,但是相关进程不能用root启动,避免之后标准化部署脚本从内网到外面产生权限问题

                所有web项目都以appuser启动,db用mysql账户启动)
    2、关闭selinux、关闭iptables
            > /etc/sysconfig/selinux
            setenforce 0
            echo 'SELINUX=disabled' >> /etc/sysconfig/selinux
            echo 'SELINUXTYPE=targeted' >> /etc/sysconfig/selinux
    3、统一创建计划任务目录、包放置目录。

            mkdir -p /data/cron (统一计划任务放置点)
            mkdir -p /data/source (统一文件包放置点)

    4、统一yum扩展源地址包,初始化部署服务器时先全部update
            yum -y install wget
            rpm -ivh epel-release-6-8.noarch.rpm
            rm -rf epel-release-6-8.noarch.rpm
            yum -y update
    5、服务器时间同步
            CTfile=/tmp/crontab.${USER}
            CTstr="*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1"
            /usr/bin/crontab -l > ${CTfile}
            echo "" >> ${CTfile}
            echo "${CTstr}" >> ${CTfile}
            /usr/bin/crontab ${CTfile}
            rm -rf ${CTfile}
    6、优化IO调试器
            for sd in `cd /dev/ && ls sd?`
            do
            echo "" >> /etc/rc.local
            echo "echo "deadline" > /sys/block/${sd}/queue/scheduler" >> /etc/rc.local
            done
    7、为历史命令加上时间
            sed -i '/HISTTIMEFORMAT/d' /etc/profile
            echo 'HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "' >> /etc/profile
     
     三、服务器统一路径管理
            DB数据库服务器(如DB):
            /data/3306下目录所有者mysql:mysql(如果多实例,目录按端口创建,/data/{port},如/data/3307, /data/3308)
            /etc/my.cnf 文件所有者mysql:mysql
            web容器服务器(如tomcat):
            启动关闭脚本:/data/deploy-script下目录所有者appuser:appuser
           日志路径: /data/httplogs下目录所有者appuser:appuser
            所有相关资源:/data/tomcat下目录所有者appuser:appuser
            tomcat-pid:/data/ tomcat-run-pid下目录所有者appuser:appuser
            tomcat启动关闭主目录:/data/ webapps下目录所有者appuser:appuser
            cache服务器(如redis):
            /data/redis/下目录所有者appuser:appuser
           (注:所有运维批量化部署脚本届时都有我整理后提供,结合以上路径形成统一标准,结合自动化部署提高效率,减少人为操作失误。)
     
    四、内网、测试环境项目持续集成与发布流程
            变更管理:利用svn+jenkins+shell的方式进行项目管理控制,与运维一键发布。
            变更流程:开发环境-qa环境-预发布环境-线上生产环境
            所有过程由SVN实行版本控制,统一代码管理,做到多版本分支及合并,并实时备份,准备回滚。
            利用jenkins结合svn对各个环境自动高效准确持续的软件版本发布/测试项目
            监控外部调用执行的工作,准确定位构建中的错误信息,快速准确变更部署
            大致发布流程:
    •         开发环境发布 - 研发介入
    •         Qa环境发布 - 研发、测试组介入
    •         预发布环境 - 运维进行发布后测试组回归测试
    •         正式环境 - 运维进行发布
  • 相关阅读:
    BZOJ1880: [Sdoi2009]Elaxia的路线(最短路)
    「BZOJ1433」[ZJOI2009] 假期的宿舍(二分图,网络流)
    BZOJ 1061 [Noi2008]志愿者招募(费用流)
    [BZOJ2879][Noi2012]美食节(费用流)
    bzoj 1834 [ZJOI2010] network 网络扩容(费用流)
    BZOJ2668:[CQOI2012]交换棋子(费用流)
    bzoj1070【SCOI2007】修车(费用流)
    【BZOJ 1877】 [SDOI2009]晨跑(费用流)
    SQLite_Home
    GeoMesa-单机搭建
  • 原文地址:https://www.cnblogs.com/Javame/p/6018312.html
Copyright © 2011-2022 走看看