Linux -- 項目服務部署學習

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章