博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
标准化运维
阅读量:6605 次
发布时间:2019-06-24

本文共 2600 字,大约阅读时间需要 8 分钟。

一、服务器安装标准(基于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

        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环境发布 - 研发、测试组介入

  •         预发布环境 - 运维进行发布后测试组回归测试

  •         正式环境 - 运维进行发布

参考博文:http://www.cnblogs.com/Javame/p/6018312.html

     本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1914213,如需转载请自行联系原作者

你可能感兴趣的文章
Pandas:按条件进行行选择
查看>>
spring boot 自定义规则访问获取内部或者外部静态资源图片
查看>>
springmvc + mybatis + ehcache + redis架构
查看>>
sed指定行范围匹配(转贴!)
查看>>
C#语音朗读文本 — TTS的实现
查看>>
Python正则表达式初识(十)附正则表达式总结
查看>>
APICLOUD 1.1.0 开发环境搭建
查看>>
《Cadence 16.6电路设计与仿真从入门到精通》——导读
查看>>
Confluence 6 如何让我的小组成员知道那些内容是重要的
查看>>
找到一个适合的分布式文件系统之各种分布式文件系统优缺点对比
查看>>
httpd基本配置
查看>>
索引失效的几个原因
查看>>
关于多线程中使用while做循环而不使用if的解释
查看>>
欢迎你,企业基础架构CCIE,RS CCIEv5.0的升级版新时代迎合自动化运维的网工顶级认证...
查看>>
js typoeof用法
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
基础 JavaScript 实例
查看>>
自定义pageControl
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>