2022.03.13
如果执行yum list | grep php 之后发现php包特别少,没有7.0-7.2版本的,只有默认的5.4版本,还少了一些包,这种情况下最好看下面这个。
https://blog.csdn.net/liuyu_719/article/details/113555148
# CentOs 7 安装php源和epel扩展源:
rpm -ivh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装包
yum -y install gcc pcre-devel openssl-devel make vim
yum -y install mariadb mariadb-devel mariadb-server
# 网络不好的情况下,下面最好一个包一个包的安装
yum -y install php70w php70w-gd php70w-mbstring php70w-mysql php70w-fpm php70w-bcmath
yum -y install php70w-xmlwriter
yum -y install libevent-devel
yum -y install net-snmp-devel curl-devel
# fping可用于做ping检测,后面做持续ping监控的时候会用到
yum -y install fping
# 下载ngin和zabbix
wget https://nginx.org/download/nginx-1.18.0.tar.gz
# zabbix下载如下
# 链接:https://pan.baidu.com/s/1TBXi-zqEucqLsCnifZzXoQ
# 提取码:dyfj
# 本文以zabbix-4.4.7版本为例,6.0版本的安装方式好像稍有不同可能会安装失败。
useradd -s /sbin/nologin nginx
tar -xf nginx-1.18.0.tar.gz
cd nginx--1.18.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-stream --with-http_stub_status_module
# 指定安装路径、指定用户、指定组、开启SSL加密功能、开启TCP/UDP代理模块、开启status状态页面
make && make install
注:尽量在配置之前先把老的配置文件备份一下
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
# 修改配置文件,按i键进入插入模式
… …
http{
… …
# 在http下面插入
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
#缓存php生成的页面内容,8个16k
#缓存php生产的头部信息
#连接PHP的超时时间
#发送请求的超时时间
#读取请求的超时时间
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 修改该行为.conf
include fastcgi.conf;
}
… …
#vim回退到普通模式(esc键),wq保存并退出
# 做个快捷链接,启动服务
ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
nginx
注:
nginx -s stop #关闭Nginx服务
nginx -s reload #重新加载配置文件
当服务启动的时候,如果修改了配置文件,需要执行nginx -s reload,而不是执行nginx再次启动服务
# 上面已经安装了,所以这里直接启服务
systemctl start mariadb
systemctl enable mariadb
# 给zabbix创建个库
# 进入mariadb数据库
mysql
create database zabbix character set utf8 collate utf8_bin;
#创建数据库,支持中文字符集
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
#创建可以访问数据库的账户与密码
FLUSH PRIVILEGES;
# 刷新,退出
quit;
firewall-cmd --set-default-zone=trusted
systemctl status firewalld && yum -y remove firewalld
setenforce 0
vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# 修改为非enforcing即可
vim /etc/php.ini
date.timezone = Asia/Shanghai #设置时区
max_execution_time = 300 #最大执行时间,秒
max_input_time = 300 #服务器接收数据的时间限制
post_max_size = 32M #POST数据最大容量
memory_limit = 128M #内存容量限制
systemctl restart php-fpm && systemctl enable php-fpm
cd /usr/local/nginx/html/
vim mysql_test.php
$mysqli = new mysqli('localhost','root','','mysql');
if (mysqli_connect_errno()){
die('Unable to connect!'). mysqli_connect_error();
}
$sql = "select * from user";
$result = $mysqli->query($sql);
while($row = $result->fetch_array()){
printf("Host:%s",$row[0]);
printf("");
printf("Name:%s",$row[1]);
printf("");
}
?>
curl http://127.0.0.1/mysql_test.php
# 检测LNMP架构的动静分离是否成功,以及php代码链接数据库查询是否成功。
cd
tar -xf zabbix-4.4.7.tar.gz
cd zabbix-4.4.7/
./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
# --enable-server安装部署zabbix服务器端软件
# --enable-agent安装部署zabbix被监控端软件
# --enable-proxy安装部署zabbix代理相关软件
# --with-mysql配置mysql_config路径
# --with-net-snmp允许zabbix通过snmp协议监控其他设备(监控交换机需要用到)
# --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
make && make install
cd database/mysql/
#之前给zabbix创建的是空数据库,源码包目录下,有提前准备好的数据
# 使用mysql导入这些数据即可(注意导入顺序)
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
cd ../../frontends/php/
cp -r * /usr/local/nginx/html/
chmod -R 777 /usr/local/nginx/html/*
vim /usr/local/etc/zabbix_server.conf
DBHost=localhost
# 数据库主机名,与本机对应上
DBName=zabbix
# 设置数据库名称
DBUser=zabbix
# 设置数据库账户
DBPassword=zabbix
# 设置数据库密码,默认该行被注释
LogFile=/tmp/zabbix_server.log
# 设置日志,仅查看以下即可
useradd -s /sbin/nologin zabbix
#启动服务
zabbix_server
# 确认连接状态,端口10051
ss -ntulp |grep zabbix_server
vim /usr/local/etc/zabbix_agentd.conf
#允许哪些主机监控本机
Server=127.0.0.1,本机IP
#允许哪些主机通过主动模式监控本机
ServerActive=127.0.0.1,本机IP
#设置本机主机名
Hostname=localhost
#设置日志文件
LogFile=/tmp/zabbix_server.log
#是否允许自定义key
UnsafeUserParameters=1
#启动监控agent
zabbix_agentd
#查看端口信息为10050
ss -antulp |grep zabbix_agentd
http://192.168.59.134/setup.php
进入到PHP环境监测页面,点击《Next step》
如果有飘红,那么就去检查php.ini文件是不是有地方没进行修改,然后再去检查是不是有的php70w包没装上。
PHP-LDAP显示是红色的,这个没关系,不用管它。
进入到配置数据库页面,在本文中,给zabbix使用的数据库,库名+授权的用户名+密码,都是zabbix,然后zabbix_server.conf配置文件中的DBPassword,也是zabbix。
安装完成