1、必要設置
yum install net-tools wget vim -y
# vim ~/.vimrc
set ts=2
set sw=2
2、安裝 docker
# 安裝 docker
yum install -y docker
# 屏蔽 firewalld
vim /etc/sysconfig/docker
OPTIONS 增加 --iptables=false
# 配置加速器,並修改 /etc/docker/daemon.json
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 啓動 docker
systemctl enable docker
systemctl daemon-reload
systemctl start docker
# 查看 docker
docker version
3、安裝 docker-compose
# 安裝 docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
# 增加權限
chmod +x /usr/local/bin/docker-compose
4、安裝必要服務
version: "3"
services:
mysql:
image: docker.io/mysql:5.6
ports:
- "3307:3306"
volumes:
- "/usr/local/service/base/mysql-3307:/var/lib/mysql"
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: root
privileged: true
redis:
image: daocloud.io/library/redis:3.2.9
ports:
- "6380:6379"
volumes:
- "/usr/local/service/base/redis-6380:/data"
container_name: redis
entrypoint:
- redis-server
5、安裝 zabbix
version: "3"
services:
zabbix-server-mysql:
image: docker.io/zabbix/zabbix-server-mysql
ports:
- "10051:10051"
container_name: zabbix-server-mysql
environment:
- DB_SERVER_HOST=10.10.1.127
- DB_SERVER_PORT=3307
- MYSQL_USER=root
- MYSQL_PASSWORD=root
zabbix-web-nginx-mysql:
image: docker.io/zabbix/zabbix-web-nginx-mysql
ports:
- "20080:80"
container_name: zabbix-web-nginx-mysql
environment:
- DB_SERVER_HOST=10.10.1.127
- DB_SERVER_PORT=3307
- MYSQL_USER=root
- MYSQL_PASSWORD=root
links:
- zabbix-server-mysql:zabbix-server
6、安裝 zabbix-agent
# 安裝源 http://repo.zabbix.com/zabbix
wget http://repo.zabbix.com/zabbix/4.3/rhel/7/x86_64/zabbix-release-4.3-3.el7.noarch.rpm
rpm -ivh zabbix-release-4.3-3.el7.noarch.rpm
# 安裝
yum install zabbix-agent -y
# 修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=172.18.0.3
ServerActive=172.18.0.3
# 啓動
systemctl start zabbix-agent
7、安裝 nginx
# 安裝依賴
yum -y install gcc readline-devel zlib-devel pcre-devel openssl-devel
# 安裝 nginx
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar -xvzf nginx-1.9.9.tar.gz && mv nginx-1.9.9 nginx
cd nginx && ./configure
make && make install
# 啓動 nginx
cd /usr/local/nginx/sbin
./nginx
# 開啓 80 端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
8、安裝 rap2
# 搭建 node 環境
wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.0.0-linux-x64.tar.gz
tar -xvzf node-v10.0.0-linux-x64.tar.gz && mv node-v10.0.0-linux-x64 node
mv node /usr/local/
vim /etc/profile
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
# 運行後臺
version: '2.2'
services:
delos:
container_name: rap2-delos
image: blackdog1987/rap2-delos:2.6.aa3be03
environment:
- MYSQL_URL=10.10.1.127
- MYSQL_PORT=3307
- MYSQL_USERNAME=root
- MYSQL_PASSWD=root
- MYSQL_SCHEMA=rap2
- REDIS_URL=10.10.1.127
- REDIS_PORT=6380
- NODE_ENV=production
working_dir: /app
privileged: true
command: /bin/sh -c 'node scripts/init; node dispatch.js'
ports:
- "38080:8080"
# 運行前臺
git clone https://github.com/thx/rap2-dolores.git
cd rap2-dolores/src/config
config.dev.ts config.prod.ts
npm install
npm install -g serve
npm run build
nohup serve -s ./build -p 8090 &
# 權限問題報錯解決辦法
npm uninstall node-sass
npm install -g node-sass -unsafe-perm
npm install node-sass -unsafe-perm
9、安裝禪道
version: "3"
services:
zentao:
image: idoop/zentao
ports:
- "38081:80"
volumes:
- "/usr/local/service/zentao/zbox:/opt/zbox"
container_name: zentao
privileged: true
# 用戶名密碼
admin 123456
10、配置nginx
# 配置 host
10.10.1.127 www.testserver.com
10.10.1.127 zabbix.testserver.com
10.10.1.127 rap2.testserver.com
10.10.1.127 bug.testserver.com
server {
listen 80;
server_name bug.testserver.com;
location / {
proxy_pass http://10.10.1.127:38081;
}
}
server {
listen 80;
server_name rap2.testserver.com;
location / {
proxy_pass http://10.10.1.127:8090;
}
}
server {
listen 80;
server_name zabbix.testserver.com;
location / {
proxy_pass http://10.10.1.127:20080;
}
}
11、安裝 tomcat
version: "3"
services:
tomcat:
image: daocloud.io/library/tomcat:8.5.15-jre8
ports:
- "8080:8080"
container_name: tomcat
volumes:
- "/usr/local/service/tomcat/tomcat8080:/usr/local/tomcat/webapps"
privileged: true
12、項目層次關係
├── base
│ ├── docker-compose.yml
│ ├── mysql-3307
│ └── redis-6380
├── rap2
│ ├── docker-compose.yml
│ └── rap2-dolores
├── tomcat
│ ├── docker-compose.yml
│ └── tomcat8080
├── zabbix
│ └── docker-compose.yml
└── zentao
├── docker-compose.yml
└── zbox
13、監控 tomcat
# 開啓 jmx
version: "3"
services:
tomcat:
image: daocloud.io/library/tomcat:8.5.15-jre8
ports:
- "8080:8080"
- "9999:9999"
container_name: tomcat
volumes:
- "/usr/local/service/tomcat/tomcat8080:/usr/local/tomcat/webapps"
environment:
- CATALINA_OPTS=-Djava.rmi.server.hostname=10.10.1.127 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
privileged: true
# 安裝 zabbix-java-gateway
yum install -y zabbix-java-gateway
systemctl start zabbix-java-gateway
lsof -i:10052
vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.23.131
JavaGatewayPort=10052
StartJavaPollers=5
# docker 方式,啓動項加上
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAY=192.168.23.131
14、監控 mysql
zabbix_get -s10.10.1.127 -p 10050 -k mysql.ping
15、監控 redis
下載地址: redis-zabbix.zip
https://pan.baidu.com/s/1EU78C6D6NrRXvOcMQ-oDGw
# 安裝 redis-cli
yum install epel-release
yum install redis
# web 界面導入模板文件
# 參數文件
vim /etc/zabbix/zabbix_agentd.d/redis.conf
# 命令文件
vim /usr/local/service/zabbix/redismonitor.sh
chmod a+x /usr/local/service/zabbix/redismonitor.sh
16、監控 nginx
下載地址: nginx-zabbix.zip
https://pan.baidu.com/s/1dNII8sa3gawyFdAYZBq6Sg
# web 界面導入模板文件
# 參數文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
# 命令文件
vim /usr/local/service/zabbix/nginx.sh
chmod a+x /usr/local/service/zabbix/nginx.sh