# **操作系統**
推薦CentOS 7 x86 64位。(不推薦CentOS 6,因為python版本太低,對ansible支持不好)
# **功能架構**

# **硬件配置**
#### **一體安裝**
| 功能模塊 | 建議配置 |
| --- | --- |
| All in one | CPU:8core+,內存16G,硬盤300G+ |
#### **分布安裝**
| 功能模塊 | 建議配置 |
| --- | --- |
| WorkServer模塊 | CPU:2core+,內存:4G+,硬盤50G+ |
| ProxyServer模塊 | CPU:2core+,內存:2G+,硬盤50G+ |
| MySQL | CPU:2core+,內存:4G+,硬盤100G+ |
| ElasticSearch(建議用3臺主機搭建成分布式) | CPU:2core+,內存:4G+,硬盤100G+ |
#### **組件詳情**
| 組件 | 端口 | 歸屬模塊 | 用途 |
| --- | --- | --- | --- |
| sso | 30000、30001 + 30002 | WorkServer模塊 | 統一認證 |
| work | 30002、30003 | WorkServer模塊 | 主站點 |
| BigServer | 60002 | WorkServer模塊 | 主站點數據處理 |
| Nginx正向代理 | 60000 | ProxyServer模塊 | 代理http請求 |
| BigProxy | 60001 | ProxyServer模塊 | 代理數據處理 |
| MySQL | 3306 | 存儲模塊 | 主站數據存儲 |
| ElasticSearch | 9200、9300 | 存儲模塊 | 監控和日志等 |
| Kibana | 5601 | | ES數據管理 |
| Cerebro | 9000 | | ES集群管理 |
| GitLab | 30004(workhorse)、30005(unicorn) | | 代碼管理及DevOps |
| Nginx | 80 | | 反向代理和Web服務 |
#### **2個域名**
| 用途 | 例子 |
| --- | --- |
| 統一認證 | sso.bigops.com |
| 主站點 | work.bigops.com |
如果沒有注冊域名,需要給服務器和筆記本都配置hosts。
1. Linux位置/etc/hosts。
2. Windows位置C:\\Windows\\System32\\drivers\\etc\\hosts,如果不能直接編輯,可以先拷貝到桌面,編輯完在拷貝回原位置。
配置內容,例如:
```
192.168.xx.xx sso.bigops.com (換成你服務器的IP和域名)
192.168.xx.xx work.bigops.com (換成你服務器的IP和域名)
```
切記2個域名都要設置!切記!切記!切記!
切記服務器和你的筆記本都要設置!切記!切記!切記!
#### **主機名可以ping通**
查看主機名,運行命令
```
hostname
```
ping主機名,運行命令
```
ping your_hostname(替換成你的主機名)
```
如果能ping通就是正常,如果ping不通就需要在/etc/hosts里加一行,例如:
```
192.168.xx.xx your_hostname(替換成你的服務器IP和主機名)
```
初始化環境,運行命令
```
cd ~
yum -y groupinstall "Development Tools"
yum -y install wget
wget -O centos_init_env.sh http://www.bigops.com/bigops-install/centos_init_env.sh
bash centos_init_env.sh
```
#### **關閉ipv6(可選)**
centos 7
編輯/etc/default/grub,在GRUB\_CMDLINE\_LINUX的值里添加ipv6.disable=1,例如:
```
GRUB_CMDLINE_LINUX="ipv6.disable=1 hpet=disable crashkernel=auto rhgb quiet "
```
運行命令
```
grub2-mkconfig -o /boot/grub2/grub.cfg
```
重啟系統查看是否生效
```
reboot
```