1、必要设置

yum install net-tools wget vim -y# vim ~/.vimrcset 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.6ports:- "3307:3306"volumes:- "/usr/local/service/base/mysql-3307:/var/lib/mysql"container_name: mysqlenvironment:MYSQL_ROOT_PASSWORD: rootprivileged: trueredis:image: daocloud.io/library/redis:3.2.9ports:- "6380:6379"volumes:- "/usr/local/service/base/redis-6380:/data"container_name: redisentrypoint:- redis-server

5、安装 zabbix

version: "3"services:zabbix-server-mysql:image: docker.io/zabbix/zabbix-server-mysqlports:- "10051:10051"container_name: zabbix-server-mysqlenvironment:- DB_SERVER_HOST=10.10.1.127- DB_SERVER_PORT=3307- MYSQL_USER=root- MYSQL_PASSWORD=rootzabbix-web-nginx-mysql:image: docker.io/zabbix/zabbix-web-nginx-mysqlports:- "20080:80"container_name: zabbix-web-nginx-mysqlenvironment:- DB_SERVER_HOST=10.10.1.127- DB_SERVER_PORT=3307- MYSQL_USER=root- MYSQL_PASSWORD=rootlinks:- 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-delosimage: blackdog1987/rap2-delos:2.6.aa3be03environment:- 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=productionworking_dir: /appprivileged: truecommand: /bin/sh -c 'node scripts/init; node dispatch.js'ports:- "38080:8080"# 运行前台
git clone https://github.com/thx/rap2-dolores.gitcd rap2-dolores/src/config
config.dev.ts  config.prod.tsnpm install
npm install -g servenpm 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/zentaoports:- "38081:80"volumes:- "/usr/local/service/zentao/zbox:/opt/zbox"container_name: zentaoprivileged: 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.comserver {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-jre8ports:- "8080:8080"container_name: tomcatvolumes:- "/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-jre8ports:- "8080:8080"- "9999:9999"container_name: tomcatvolumes:- "/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=falseprivileged: true# 安装 zabbix-java-gateway
yum install -y zabbix-java-gateway
systemctl start zabbix-java-gateway
lsof -i:10052vim /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

Linux -- 项目服务部署学习相关推荐

  1. Linux项目自动部署

    场景:linux中自动部署项目在工作中经常遇到,快速高效的部署项目能够大幅提高工作效率.现在将项目部署的过程记录下来,以供参考,其中用到的知识点现在还有很多不很清楚,后面要好好琢磨琢磨! 1 项目部署 ...

  2. Linux常用服务部署与优化

    3,1nfs部署和优化-1 NFS == network file  system 假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. ...

  3. Linux常用服务部署与优化之NFS篇

    NFS(network file system)的简称,是linux系统之间常用的一种文件共享方式,下面简述其搭建过程,需要两个linux系统的虚拟机,假设客户端的ip为192.168.1.105,服 ...

  4. linux瓦片服务部署,基于Nginx进行地图瓦片缓存的方案描述

    1. 背景 在产品的迭代中,我们完成了移动端瓦片缓存方案和服务端瓦片缓存方案.但是当我们遇到旧产品不易升级,或正式运行项目无法立刻进行产品更新时,我们可以采用基于Nginx的缓存设置来实现第三方瓦片服 ...

  5. Linux项目之部署lnmp架构

    文章目录 1. 安装nginx 2. 安装mysql 3. 安装PHP 4. 配置nginx 5. 利用lnmp搭建WordPress 5.1 配置数据库 5.2 安装和配置 WordPress 环境 ...

  6. 项目怎么部署到服务器上_项目开发学习 云服务器的部署

    在项目开发和学习的过程中,前端与后端进行数据交互是非常重要的一环,无论是web开发还是移动开发,都会涉及到这一问题.如今在涉及到数据交互的应用中,后台都有云服务器做支撑.通俗地讲,你自己的电脑就可以看 ...

  7. VMWare安装使用、Linux命令、Docker安装和Linux项目部署

    Linux 一.Linux基础 1.1 Linux介绍 1.2 Linux常见发布版本 1.3 Linux和Windows的区别 1.4 Linux常见命令 二.VMWare安装使用 2.1 VMWa ...

  8. Linux从安装到实战+学校Linux+瑞吉外卖Linux项目部署

    1.0初识Linux 1.1虚拟机介绍 1.2VMware Workstation虚拟化软件 下载CentOS; 1.3远程链接Linux系统 &FinalShell 链接finalshell ...

  9. Linux中java项目环境部署,简单记录一下

    这里只是简单的记录一下linux环境下面如何快速的搭配好环境,使你的项目能在linux环境上面运行. 很多时候,我们都是用windows环境进行配置调试的,而真正很多服务器都是在linux服务器上面的 ...

最新文章

  1. Linux系统与我之间的故事
  2. R语言dplyr包通过数据列的索引重命名数据列实战(Rename Column by Index Position)
  3. Android 解决Android的TextView和EditText换行问题
  4. Hibernate数据保存操作方法的原理对比
  5. python 下载图片到内存卡_python - 获取图像大小而不将图像加载到内存中
  6. SCU 4444: Travel(最短路)
  7. 使用Dwr时出现java.lang.SecurityException: Access to debug pages is denied
  8. OpenWHO课程 Introduction to COVID-19: methods for detection, prevention, response and control 小抄
  9. 技术向Technical Artist(TA)如何学习——分享个人经历
  10. 【2017宁波联考】生成树
  11. 企鹅的游戏(penguin)
  12. Mac 显示隐藏文件夹
  13. less日常容易忘记的知识记录
  14. easyUI入门教程
  15. Android新浪微博分页加载,Android仿新浪微博自定义ListView下拉刷新(4)
  16. SEO人员,一定要为首页进行排名吗?
  17. Word文档 替换功能
  18. 解决网上有重名的问题
  19. 手持gps坐标设置_学术 | 许其凤院士:GPS移动定位与移动网络定位精度的分析
  20. 强烈给大家推荐一款简单好用免费的甘特图项目进度管理工具-进度猫

热门文章

  1. 凯悦250家店数据外泄 多家高端酒店存安全漏洞
  2. javascript--经典实例锦集
  3. 数据科学和人工智能技术笔记 十四、K 最近邻
  4. 学习篇之华为快应用的开发(一)
  5. c语言地址有什么作用是什么,C语言中取地址运算符是什么?
  6. c语言里主函数指什么,C语言里的主函数是什么
  7. 计算机与软件工程-研究生复试-专业面试题型举例
  8. 下载上市公司财报并可视化某科目
  9. Word教程-给10以上的数字加个圈圈!
  10. Xshell6|Xftp6 要继续使用此程序,您必须应用最新的更新或使用新版本