ZABBIX监控系统搭建
参考文档
LNPP环境编译部署ZABBIX7.0.6版本,软件包下载
openEuler-22.03-LTS-SP4-everything-x86_64-dvd.iso
openEuler-22.03-LTS-SP4-everything-aarch64-dvd.iso
nginx-1.26.2.tar.gz
postgresql-17.2.tar.gz
php-8.3.14.tar.gz
zabbix-7.0.6.tar.gz
一、LNPP 环境搭建
LNPP环境是指Linux、Nginx、PostgreSQL和PHP的组合环境。这种环境通常用于构建高性能的Web应用程序,特别是那些需要处理大量数据和用户交互的网站或应用。
LNPP环境的组成部分及其作用
Linux:作为操作系统的基石,提供稳定的环境支持。Linux系统可以提供多用户、多任务的环境,确保服务器的高效运行。
Nginx:作为Web服务器,Nginx以其高性能和稳定性著称。它能够处理大量的并发连接,提供高效的静态内容服务,并且支持作为反向代理服务器,帮助负载均衡和提供动态内容。
PostgreSQL:作为一种关系型数据库管理系统,PostgreSQL以其强大的功能和灵活性著称。它支持复杂的查询语言,能够处理大量的数据和复杂的查询需求,适合构建需要高性能和高可靠性的应用。
PHP:作为服务器端脚本语言,PHP可以与MySQL数据库紧密集成,提供动态网页功能。它支持多种编程范式,易于学习和使用,适合快速开发动态网站和应用。
LNPP环境的应用场景和优势
LNPP环境适用于需要高性能和高可靠性的Web应用。由于其组件的高性能和稳定性,LNPP环境特别适合构建大型网站、电子商务平台、内容管理系统等应用。此外,LNPP环境的组件都是开源的,社区支持强大,易于维护和扩展。
1.操作系统安装Linux
参考安装指南
root密码:angge@123
配置本地yum源
mount -o loop /dev/cdrom /mnt/
cd /etc/yum.repos.d/
mv openEuler.repo openEuler.repobak
vim local.repo
i输入
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq保存退出
itops用户创建
groupadd itops
useradd -g itops itops
echo itops@123 | passwd --stdin itops
sudo权限授权
visudo /etc/sudoers
i输入添加
itops ALL=(ALL:ALL) ALL
:wq保存退出
注意:不建议直接使用文本编辑器编辑 /etc/sudoers 文件,因为 visudo 会检查语法错误,直接编辑可能导致无法使用 sudo。
关闭防火墙
sudo systemctl enabled firewalld
关闭selinux
vim /etc/selinux/config
2.源码编译安装Nginx
使用itops用户登录
编译工具安装
sudo yum -y install gcc-c++
nginx依赖环境安装
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
nginx编译安装操作
cd /home/itops/soft/
tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
./configure --user=itops --group=itops --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre
make && sudo make install
sudo chown -R itops:itops /opt/nginx/
nginx.conf文件配置
mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.confbak
vim /opt/nginx/conf/nginx.conf
i输入
user itops itops;
worker_processes 1;
error_log logs/error.log crit;
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;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
:wq保存退出
测试nginx配置格式
sudo /opt/nginx/sbin/nginx -t
nginx服务文件配置
sudo vim /usr/lib/systemd/system/nginx.service
i输入
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
:wq保存
nginx服务启动及自启
sudo systemctl enable nginx --now
页面访问测试
后续https访问参考文档
-----------至此Nginx安装完成-----------<
3.源码编译安装PostgreSQL
创建组和用户
sudo groupadd postgres
sudo useradd -g postgres postgres
sudo su root
echo itops@123 | passwd --stdin postgres
exit
编译安装
cd /home/itops/soft/
tar -zxvf postgresql-17.2.tar.gz
cd postgresql-17.2/
sudo yum -y install icu libicu-devel bison flex readline readline-devel libxml2-devel libxslt-devel python3-devel
./configure --prefix=/opt/pgsql --enable-rpath --enable-nls --with-python --with-libxml --with-libxslt --with-openssl
make && sudo make install
sudo chown itops:itops /opt/pgsql/
cd /opt/pgsql/
mkdir data
sudo chown postgres:postgres data
设置系统环境变量
sudo su postgres
cd /home/postgres/
vim .bash_profile
i输入
export PGHOME=/opt/pgsql
export PGDATA=/opt/pgsql/data
PATH=\(PATH:\)HOME/.local/bin:$PGHOME/bin
:wq保存退出
使其生效
source .bash_profile
初始化数据库
initdb -D /opt/pgsql/data
postgresql.conf 配置PostgreSQL数据库服务器的相应的参数,将listen_addresses和port前的注释去掉,并修改listen_addresses的值为*
vim /opt/pgsql/data/postgresql.conf
pg_hba.conf 配置对数据库的访问权限,在IPv4中添加一条语句
vim /opt/pgsql/data/pg_hba.conf
i输入
host all all 0.0.0.0/0 trust
:wq保存退出
设置PostgreSQL开机自启动
exit切回itops用户操作
exit
cd /home/itops/soft/postgresql-17.2/contrib/start-scripts/
chmod a+x linux
sudo cp linux /etc/init.d/postgresql
sudo vim /etc/init.d/postgresql
sudo chkconfig --add postgresql
chkconfig
启动PostgreSQL服务
sudo systemctl start postgresql
测试
[postgres@localhost ~]$ psql
psql (17.2)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSWORD '123456';
ALTER ROLE
postgres=# \q
-----------至此postgresql安装完成-----------<
4.源码编译安装PHP
tar -zxvf php-8.3.14.tar.gz
cd php-8.3.14
ls
sudo yum -y install libxml2-devel bzip2-devel libcurl-devel libpng-devel libjpeg-devel freetype-devel gmp-devel openldap-devel readline-devel libxslt-devel net-snmp-devel oniguruma oniguruma-devel
sudo cp -frp /usr/lib64/libldap* /usr/lib/
sudo cp -frp /usr/lib64/liblber* /usr/lib
./configure --prefix=/opt/php --with-config-file-path=/opt/php/etc --with-pgsql=/opt/pgsql --with-pdo-pgsql=/opt/pgsql --enable-gd --enable-bcmath --with-jpeg --with-freetype --enable-ctype --enable-xml --enable-session --enable-sockets --enable-mbstring --with-gettext --with-ldap --with-openssl --without-pdo-sqlite --without-sqlite3 --enable-fpm
sed -i "s@-lcrypto@-lcrypto -llber@g" Makefile
make && sudo make install
sudo cp php.ini-production /opt/php/etc/php.ini
sudo ln -s /opt/php/etc/php.ini /etc/php.ini
sudo cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
sudo cp /opt/php/etc/php-fpm.d/www.conf.default /opt/php/etc/php-fpm.d/www.conf
sudo sed -i "s@user = nobody@user = postgres@g" /opt/php/etc/php-fpm.d/www.conf
sudo sed -i "s@group = nobody@group = postgres@g" /opt/php/etc/php-fpm.d/www.conf
sudo sed -i "s@pm.max_children = 5@pm.max_children = 30@g" /opt/php/etc/php-fpm.d/www.conf
sudo sed -i "s@;pid = run/php-fpm.pid@pid = run/php-fpm.pid@g" /opt/php/etc/php-fpm.d/www.conf
sudo sed -i "s@post_max_size = 8M@post_max_size = 16M@g" /opt/php/etc/php.ini
sudo sed -i "s@max_execution_time = 30@max_execution_time = 300@g" /opt/php/etc/php.ini
sudo sed -i "s@max_input_time = 60@max_input_time = 300@g" /opt/php/etc/php.ini
sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod +x /etc/init.d/php-fpm
sudo chown -R itops: /opt/php
sudo chkconfig --add /etc/init.d/php-fpm && sudo chkconfig php-fpm on
systemctl start php-fpm
二、Zabbix部署安装
1.源码编译安装Zabbix
sudo groupadd --system zabbix
sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
sudo yum -y install net-snmp net-snmp-devel OpenIPMI OpenIPMI-devel libevent libevent-devel curl curl-devel php-gd php-xml php-pgsql libxml2-devel java java-devel pcre pcre-devel libssh2 libssh2-devel go openldap openldap-devel
cd /home/itops/soft/
tar -zxvf zabbix-7.0.6.tar.gz
cd zabbix-7.0.6/
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-postgresql=/opt/pgsql/bin/pg_config --enable-ipv6 --enable-proxy --enable-java --with-libcurl --with-libxml2 --with-openipmi --with-ssh2 --with-net-snmp --with-ldap
make && sudo make install
sudo chown itops: -R /opt/zabbix/
cat /opt/zabbix/etc/zabbix_server.conf | grep -v "^#" | grep -v "^$"
sudo su - postgres -c 'createuser --pwprompt zabbix'
sudo su - postgres -c 'createdb -O zabbix -E Unicode -T template0 zabbix'
cd /home/itops/soft/zabbix-7.0.6/database/postgresql/
cat schema.sql | /opt/pgsql/bin/psql -Uzabbix zabbix
cat images.sql | /opt/pgsql/bin/psql -Uzabbix zabbix
cat data.sql | /opt/pgsql/bin/psql -Uzabbix zabbix
/opt/zabbix/sbin/zabbix_server
/opt/zabbix/sbin/zabbix_agentd
ssl -lnt
2.Web界面安装
cd /home/itops/soft/zabbix-7.0.6/
cp -r ui/ /opt/nginx/html/zabbix
chown itops: -R /opt/nginx/html/zabbix/
标签:opt,--,sudo,系统,devel,nginx,Zabbix,监控,php From: https://www.cnblogs.com/zhangkaichao/p/18635653-----------至此zabbix安装完成-----------<