架构组合:nginx1.9.10+php7.0.32+mysql5.7.22+zabbix4.0.1

nginx1.9.10

先装依赖

openssl-1.1.0f

tar zxvf openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr/local/lib/openssl-1.1.0f
make && make install

pcre-8.40

tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=/usr/local/lib/pcre-8.40
make && make install

zlib-1.2.11

tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/lib/zlib-1.2.11
make && make install

nginx-1.9.10

tar -zxvf nginx-1.9.10.tar.gz
cd nginx-1.9.10

编译

./configure --prefix=/usr/local/nginx-1.9.10/ --with-pcre=/usr/local/lib/pcre-8.40/ --with-openssl=/usr/local/lib/openssl-1.1.0f/ --with-zlib=/usr/local/lib/zlib-1.2.11/

安装

make && make install

php7.0.32

php使用yum方式安装

更新yum源

CentOS/RHEL 7:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
url:https://centos.pkgs.org/7/webtatic-x86_64/webtatic-release-7-3.noarch.rpm.html

yum

yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel php70w-xml -y

验证

php -v

查看所有已安装的模块

php -m 

配置文件详解

php.ini
php-fpm.conf

测试

mkdir -p /usr/local/zabbix-4.0.1/php
vim index.php

index.php

<?php
phpinfo();
?> 

nginx+php配置

cd /usr/local/nginx-1.9.10/conf
vim zabbix.conf

zabbix.conf

server{
listen 9088;
server_name localhost;
access_log logs/zabbix.log;
error_log logs/error.log;
location / {
proxy_http_version 1.1;
root /usr/local/zabbix-4.0.1/php;
index index.html index.htm index.php;
}
location ~* \.php$ {
root /usr/local/zabbix-4.0.1/php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/zabbix-4.0.1/php$fastcgi_script_name;
include fastcgi_params;
}
}

在nginx.conf htpp选项中加入zabbix.conf

include	  zabbix.conf;

浏览器访问:ip+9088

mysql5.7.22

解压

tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

新建data,logs目录用来存放数据和日志

cd /opt/mysql
mkdir data logs

my.cnf

[mysqld]
federated
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
skip-grant-tables
server-id=148
log-bin=mysql-bin
lower_case_table_names=1
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
[mysqld_safe]
log-error=/opt/mysql/logs/error.log
pid-file=/opt/mysql/mysql.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

初始化

/opt/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data --initialize

启动命令

/opt/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

登陆后重新设置root密码

修改授权远程zabbix密码
ALTER USER 'zabbix'@'%' IDENTIFIED BY 'zabbix'; 创建zabbix远程%用户
CREATE USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix'; 授权
GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'%'; 刷新
flush PRIVILEGES;

zabbix4.0.1

https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.1/zabbix-4.0.1.tar.gz

依赖

yum install libevent libevent-devel libaio gcc libxml* unixODBC-devel mysql-devel net-snmp-devel libxml2-devel libcurl-devel libevent-devel pcre* -y

ld.so.conf

vim /etc/ld.so.conf

include ld.so.conf.d/*.conf
/opt/mysql/lib

编译

./configure --prefix=/usr/local/zabbix-4.0.1/ --enable-server --enable-agent --with-mysql=/opt/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2l

目录展示

[root@localhost etc]# cd /usr/local/zabbix-4.0.1/
[root@localhost zabbix-4.0.1]# cd sbin/
[root@localhost sbin]# ls
zabbix_agentd zabbix_server
[root@localhost sbin]# cd ../etc/
[root@localhost etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
[root@localhost etc]#

php站点转移

cd /usr/local/zabbix/zabbix-4.0.1/frontends
cp -r php /usr/local/zabbix-4.0.1

zabbix_agentd.conf

zabbix_server.conf

重启nginx!

浏览器访问:ip+9088

前面还有配置图, 我当时没有截图,页面配置好进入登录界面,默认账号密码是admin/zabbix

下面就是配置添加主机分配监控之类的事了。

自家脚本一键操作

客户端启动

zagentstartall.sh

#/bin/bash
/usr/local/nginx-1.9.10/sbin/nginx
/usr/local/php/bin/php-fpm
/opt/mysql/start.sh
/usr/local/zabbix-4.0.1/sbin/zabbix_agentd

服务器启动

zserverstartall.sh

#/bin/bash
sudo -u chenglee /usr/local/nginx-1.9.10/sbin/nginx
/usr/local/php/bin/php-fpm
/opt/mysql/start.sh
/usr/local/zabbix-4.0.1/sbin/zabbix_serverl

效果

查看状态

status.sh

#/bin/bash
echo "***************************************"
echo "nginx status ..."
ps aux | grep nginx
echo "php status ..."
ps aux | grep php
echo "mysql status ..."
ps aux | grep mysql
echo "zabbix status ..."
ps aux | grep zabbix
echo "***************************************"l

效果

一键kill

stopall.sh

#/bin/bash
chengkill nginx
chengkill php
chengkill mysql
chengkill zabbix

效果

chengkill

#!/bin/sh
#pid kill thread for chenglee
#if fileformat=dos, update fileformat=unix
#code:set fileformat=unix
#check:set ff ?
if [ $# -lt 1 ]
then
echo "not procedure_name"
exit 1
fi PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done

把chengkill扔进/usr/bin

Centos7编译安装zabbix-4.0.1的更多相关文章

  1. Centos7下安装zabbix 3.0.19

    参考网站: https://www.cnblogs.com/xiewenming/p/7732144.html https://www.cnblogs.com/clsn/p/7885990.html  ...

  2. 编译安装zabbix 3.0及分开部署配置详解

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...

  3. CentOS7 编译安装 nginx-1.10.0

    对于NGINX 支持epoll模型 epoll模型的优点 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的 ...

  4. centos7编译安装zabbix(附带编译安装lnmp)

    先把防火墙和selinux关闭: sytemctl stop firewalld setenforce 0 1.yum安装依赖: yum -y install wget openssl* gcc gc ...

  5. centos7 编译安装nginx1.16.0( 完整版 )

    一.安装依赖包 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 依赖包说明: 1.编译 ...

  6. centos7编译安装zabbix的错误

    [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through s ...

  7. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  8. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  9. centos 6.9安装zabbix 3.0

    Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...

  10. 一键安装 zabbix 3.0 版本 脚本

    原文地址: http://blog.csdn.net/u012449196/article/details/53859068 本文修改了原文中的部分错误,此脚本适用于zabbix 2.0 或 3.0 ...

随机推荐

  1. leetcode34. Find First and Last Position of Element in Sorted Array

    二分查找不只是查找,还可以根据需求添加条件进行查找,比如这个题,左端点的条件就是边界点或者小于target,右端点的条件就是!=size()或者大于.根据这个找到查找的条件

  2. 9.C# 类

    1.类定义格式 [访问修饰符]class 类名 [:父类名,接口名,接口名] { //类成员 } 类的访问修饰符有public.internal两个,没有标明访问修饰符默认为internal,被int ...

  3. Mac下android studio卡,居然这么解决了。。。。

    一直修改build.app直接卡死.... 最后把网线拨了,居然不卡了.. 直接设置代理为127.0.0.1直接不卡了,无语了...

  4. maven pom文件报错:Multiple annotations found at this line 解决方案(转)

    研究maven多模块项目时,因为家里和公司不能同时开发,所以把家里搭建好的项目复制到公司继续研究, 当时家里的电脑搭建好项目之后是没问题的,但是复制到公司的eclipse上之后就看到pom文件出现下面 ...

  5. javascript获取style兼容性问题

    获取css 样式的方法有三种 : style, currentStyle , getComputedStyle style (无兼容性问题) 获取语法: ele.style.attr : 设置语法:e ...

  6. C#日期格式字符串的相互转换

    方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss ================================== ...

  7. 1.23 codeforces div3 C.Nice Garland

    You have a garland consisting of nn lamps. Each lamp is colored red, green or blue. The color of the ...

  8. 软件常用设置(VC, eclipse ,nodejs)---自己备用

    留存复制使用 1.VC ----1.1VC项目设置 输出目录: $(SolutionDir)../bin/$(platform)/$(Configuration) $(ProjectDir)../bi ...

  9. Robot Framework 教程 (3) - Resource及关键字 的使用

    From:http://www.cnblogs.com/buaawp/p/4754399.html Robot Framework 教程 (3) - Resource及关键字 的使用 在进行软件自动化 ...

  10. Java多线程-----原子变量和CAS算法

       原子变量      原子变量保证了该变量的所有操作都是原子的,不会因为多线程的同时访问而导致脏数据的读取问题      Java给我们提供了以下几种原子类型: AtomicInteger和Ato ...