zabbix php安装,LNMP环境 + Zabbix 搭建

序:这是我个人的一些笔记和总结,有不当和错误的地方欢迎指出纠正!

整个环境所需要的软件包

php-5.5.35&&libmcrypt-2.5.8&&mysql-5.5.49&&nginx-1.9.15&&zabbix-3.2.1

我们需要先构建LNMP的环境,因为Zabbix通过

[root@minion1 ~]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel

zlib:给 Nginx提供 gzip模块,需要的支持;

OPenssl 提供SSL功能;

PCRE,地址重写

下载nginx软件包并进入到目录中:

wget http://nginx.org/download/nginx-1.9.15.tar.gz && tar xvf nginx-1.9.15.tar.gz && cd nginx-1.9.15

进行源码安装

tar xvf nginx-1.9.15.tar.gz -C /usr/local/src/ && cd /usr/local/src/nginx-1.9.15

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre

make && make install

--with-http_stub_status_module:支持nginx状态查询

--with-http_ssl_module:支持https

--with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持

--with-pcre:为了支持rewrite重写功能,必须制定pcre

添加一个nginx用户

[root@minion1 nginx-1.9.15]# useradd -u 8001 -M -s /sbin/nologin nginx

修改/usr/local/nginx/conf/nginx.conf

#user nobody;

user nginx nginx; #此行添加

........

location ~ \.php$ { #这里默认注释手动去掉注释

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

include fastcgi_params;

}

启动nginx并加入开机自启

[root@minion1 nginx-1.9.15]# /usr/local/nginx/sbin/nginx

[root@minion1 nginx-1.9.15]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local

设置防火墙通过nginx

[root@minion1 nginx-1.9.15]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[root@minion1 nginx-1.9.15]# /etc/rc.d/init.d/iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

[root@minion1 nginx-1.9.15]# service iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

2.安装mysql

下载MySQL安装

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz

[root@minion1 ~]# tar xvf mysql-5.5.49.tar.gz -C /usr/local/src/ ; cd /usr/local/src/mysql-5.5.49

添加mysql用户和组

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

#先安装cmake(mysql5.5以后是通过cmake来编译的)

yum install -y cmake

#创建mysql的安装目录及数据库存放目录

[root@minion1 mysql-5.5.49]# mkdir -p /usr/local/mysql

[root@minion1 mysql-5.5.49]# mkdir -p /usr/local/mysql/data

[root@minion1 mysql-5.5.49]# chmod +w /usr/local/mysql/

[root@minion1 mysql-5.5.49]# chown -R mysql:mysql /usr/local/mysql/

[root@minion1 mysql-5.5.49]# mkdir -p /var/mysql

[root@minion1 mysql-5.5.49]# mkdir -p /var/mysql/data/

[root@minion1 mysql-5.5.49]# mkdir -p /var/mysql/log/

[root@minion1 mysql-5.5.49]# chown -R mysql:mysql /var/mysql/

安装mysql

[root@minion1 mysql-5.5.49]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/var/mysql/data \

-DMYSQL_USER=mysql

…… ……

CMake Warning:

Manually-specified variables were not used by the project:

MYSQL_USER

WITH_MEMORY_STORAGE_ENGINE

-- Build files have been written to: /usr/local/src/mysql-5.5.49

[root@localhost mysql-5.5.22]#make

解决报错:-- Configuring incomplete, errors occurred!

先安装 ncurses-devel 包

yum install ncurses-devel

再删除刚才编译生成的 CMakeCache.txt 文件

rm CMakeCache.txt

再次执行一次cmake ...

一般都可以顺利安装的。

[root@minion1 mysql-5.5.49]#make && make install

ln -s /usr/local/mysql/bin/* /usr/bin/ #添加软链接

fbaadbebb6342efaa6c9cff69957e7b4.png

配置mysql

[root@minion1 mysql-5.5.49]# cd support-files/

[root@minion1 support-files]# cp my-medium.cnf /etc/my.cnf

[root@minion1 support-files]# cp mysql.server /etc/init.d/mysql

初始化安装。

/usr/local/mysql/scripts/mysql_install_db \

--defaults-file=/etc/my.cnf \

--basedir=/usr/local/mysql \

--datadir=/var/mysql/data \

--user=mysql

…… ……

You can start the MySQL daemon with:

cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!

修改配置文件

[root@minion1 support-files]# vi /etc/init.d/mysql

basedir=/usr/local/mysql

datadir=/var/mysql/data

[root@minion1 support-files]# chmod +x /etc/init.d/mysql

[root@minion1 support-files]# vi /etc/init.d/mysql

[root@minion1 support-files]# chkconfig --add mysql

[root@minion1 support-files]# chkconfig --level 345 mysql on

[root@minion1 support-files]# cd /usr/local/mysql

[root@minion1 mysql]# service mysql start

Starting MySQL.. [ OK ]

设置开机自启

chkconfig mysql on

设置密码

/usr/local/mysql/bin/mysql_secure_installation

.......

ew password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

.......

测试登录

[root@minion1 mysql]# mysql -uroot -p123456

..........

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

登录数据库,创建zabbix数据库及用户名和密码:

mysql> create database zabbix default charset utf8; #新加一个zabbix的库

Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix'; #添加一个zabbix用户并给他zabbix库权限并设置密码为zabbix

Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges; #刷新缓存

Query OK, 0 rows affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

| zabbix |

+--------------------+

5 rows in set (0.00 sec)ot创建密码:

3.安装PHP

下载PHP安装包

wget http://cn2.php.net/get/php-5.5.35.tar.gz/from/this/mirror

解压并编译

mv mirror php-5.5.35.tar.gz && tar xvf php-5.5.35.tar.gz -C /usr/local/src/ ; cd /usr/local/src/php-5.5.35

编译安装

[root@minion1 php-5.5.35]#./configure --prefix=/usr/local/src/php-5.5.35

#提示“freetype-config not found” FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件

yum -y install freetype*

再配置

make && make install

ln -s /usr/local/src/php-5.5.35 /usr/local/php

cp php.ini-production /usr/local/php/etc/php.ini

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

修改php.ini参数:(zabbix环境需要修改的参数)

cd /usr/local/php/etc/

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone = PRC

4.安装zabbix server

安装zabbix

[root@zabbix ~]# tar zxf zabbix-3.0.3.tar.gz && cd zabbix-3.0.3

编译zabbix

./configure --prefix=/usr/local/zabbix-3.0.3/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2

make && make install

编译过程中如果有报错:

故障:

checking for mysql_config... no

configure: error: MySQL library not found

解决:

yum install mysql-devel -y

故障:

checking for net-snmp-config... no

configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

解决:

yum install net-snmp-devel -y

创建zabbix用户:

[root@zabbix zabbix-3.0.3]# groupadd zabbix

[root@zabbix zabbix-3.0.3]# useradd zabbix -s /sbin/nologin -M –g zabbixzabbix server需要导入3个sql文件:

[root@zabbix zabbix-3.0.3]# mysql -uroot -pzabbix zabbix < database/mysql/schema.sql

[root@zabbix zabbix-3.0.3]# mysql -uroot -pzabbix zabbix < database/mysql/images.sql

[root@zabbix zabbix-3.0.3]# mysql -uroot -pzabbix zabbix < database/mysql/data.sql

如遇以下报错:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决办法:

Mkdir /var/lib/mysql

[root@zabbix ~]# ln -s /tmp/mysql.sock /var/lib/mysql/

五、zabbix管理网站配置(nginx)

创建项目目录:

[root@zabbix zabbix-3.0.3]# mkdir /data/web/zabbix.lifec.com -p

[root@zabbix zabbix-3.0.3]# mkdir /data/logs/zabbix -p

将前端文件拷贝到项目目录下

[root@zabbix zabbix-3.0.3]# cp -rp frontends/php/* /data/web/zabbix.lifec.com/

编辑nginx虚拟主机

cd /usr/local/nginx/conf/

[root@zabbix conf]# mkdir extra

[root@zabbix conf]# cd extra/

[root@zabbix extra]# vim zabbix.conf

server {

listen 8027;

server_name zabbix.lifec.com;

access_log /data/logs/zabbix/zabbix.lifec.com.access.log main;

index index.html index.php index.html;

root /data/web/zabbix.lifec.com;

location /{

try_files $uri $uri/ /index.php?$args;

}

location ~ ^(.+.php)(.*)$ {

fastcgi_split_path_info ^(.+.php)(.*)$;

include fastcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

}

编辑nginx.conf配置文件:

[root@zabbix conf]# cat nginx.conf

user nginx;

worker_processes 1;

#error_log logs/error.log warning;

#error_log logs/error.log notice;

#error_log logs/error.log info;

pid logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

include extra/*.conf;

}

编辑zabbix_server.conf文件

[root@zabbix etc]# pwd

/usr/local/zabbix-3.0.2/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

未完待续......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值