前言:
本系类博客介绍我为公司项目组搭建开发环境的过程,和学到的知识,写在这里给别人提供参考和帮助,同时为了做个总结.
本人并非运维,只是普通javaEE工程师,本来这些都是要求运维做的,但同时新买了不少服务器,运维只顾线上服务器装环境没时间帮助我们搭建开发环境和测试环境,所以领导安排我来做,一边学习一遍操练.当然这些东西很杂大多都是百度,google,各种尝试.走了不少弯路.
1.公司开发和测试环境硬件
CentOS-6.6-64位操作系统
CPU(至强E5系列),内存(128G),每台物理机硬盘2.6T
共6台物理机,占用172.29.1.1--172.29.1.254,占用整个网段
网关
172.29.1.1
物理机IP(
172.29.1.2--
172.29.1.19
)
每个物理机上装有不同数量和内存大小的虚拟机,使用KVM虚拟化方案.
2.整个开发环境IP非配如下
物理机:
KVM-02
172.29.1.2
虚拟机:
KVM-02-20---
KVM-02-39
4G内存,4核,共20台
物理机:
KVM-03
172.29.1.3
虚拟机:
KVM-03-40---
KVM-03-59
4G内存,4核
,共20台
物理机:
KVM-04
172.29.1.4
虚拟机:
KVM-04-60---
KVM-04-79
4G内存,4核
,共20台
物理机:
KVM-05
172.29.1.5
虚拟机:
KVM-05-80---
KVM-05-99
4G内存,4核
,共20台
物理机:
KVM-06
172.29.1.6
虚拟机:
KVM-06-100---
KVM-06-139
2G内存,4核
,共40台
物理机:
KVM-07
172.29.1.7
虚拟机:
KVM-07-140---
KVM-02-149
8
G内存,4核
,共10台
3.整个环境涉及到的软件和集群配置
项目使用dubbox提供rest服务,maven工程.
MySQL5.6(DEV,UAT,Prelive三个环境各一个单机);ps:其实双主也不难,但我们开发还要写代码没时间来吧运维走一遍,用两个库动态切数据库就可以模拟线上双主结构.
zookeeper集群(3.4.6)
dubbo-admin和dubbo-monitor安装配置
RabbitMQ单机
TFS+nginx集群(淘宝文件系统),做图片服务器
Redis主从
Redis-cluster(3.0集群)
Jenkins自动部署环境(解决多个环境部署war包需要敲命令的烦恼)
nexus私服
SVN服务器(httpd做代理)
Nginx反向代理tomcat,统一rest接口ip,配置GZIP压缩
Mongodb副本集集群
subversion/jdk/maven
NFS/DHCP服务配置
FTP服务搭建
solr集群