陈奇网络工作室

CentOS7.7编译安装方式搭建LNMP环境部署Zabbix4.2.6

系统运维

一、准备工作:

1、演示环境:

互联网协议(互联网协议)

操作系统

主机名

部署软件包

192.168.0.120

CentOS?7.7 x86_64

扎比克斯-服务器

Nginx(nginx-1.16.1.tar.gz)

CMake(cmake-3.15.3.tar.gz)

助推?库(boost_1_59_0.tar.gz)

mysql(Mysql-5.7.27.tar.gz)

Libzip(libzip-1.5.2.tar.xz)

PHP(7。3 .9 .焦油。xz)

JDK(jdk-8u221-linux-x64.tar.gz)

Zabbix(zabbix-4.2.6.tar.gz)

2、关闭SELinux和防火墙d

3、配置epel源

4、配置虚机时间同步

5、配置主机名

6、配置/etc/hosts文件:

# vim/etc/hosts192。168 .0 .120 zabbix-服务器

7、下载所需软件包:

(1)Nginx:http://Nginx。org/en/下载。超文本标记语言

(2)CMake:https://CMake。组织/下载/

(3)助推库:http://www.boost.org/

(4)MYSQL:https://dev。MYSQL。com/downloads/MYSQL/

(5)Libzip:https://Libzip。组织/下载/

(6)PHP:https://www。PHP。网络/下载。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

(7)JDK:https://www。甲骨文。com/tech network/Java/javase/downloads/index。超文本标记语言

(8)Zabbix:https://www。扎比克斯。com/下载/

二、搭建LNMP环境:

1、部署Nginx:

(1)安装开发环境:# yum-y集团安装开发工具

(2)安装依赖软件包:# yum-y install pcre-devel zlib-devel OpenSSL-devel libxslt-devel GD-devel perl-devel perl-ExtUtils-Embed GeoIP-devel

(3)创建nginx用户和组:

# groupadd -r nginx

# useradd-g nginx-r-s/sbin/nologin nginx

# id nginx

(4)编译安装Nginx:

# tar-xf nginx-1 . 16 . 1 . tar . gz-C/usr/src

# cd /usr/src/nginx-1.16.1

# ./configureprefix=/usr/local/nginxuser=nginxgroup=nginxwith-threadswith-file-AIOwith-http _ SSL _ modulewith-http _ v2 _ modulewith-http _ realip _ modulewith-http _ addition _ modulewith-http _ XSLT _ modulewith-http _ image _ filter _ modulewith-http _ sub _ modulewith-http _ dav _ modulewith-http

#制作制作安装

(5)配置Nginx环境变量:

# vim /etc/profile.d/nginx.sh

导出路径=/usr/local/nginx/sbin:$PATH

# ./etc/profile.d/nginx.sh

# nginx -v

# nginx -h

(6)启动Nginx:

# nginx -t

# nginx

# ps aux | grep nginx

# ss -tunlp | grep -w :80

(7)配置Nginx开机自启:

# vim /etc/rc.d/rc.local

/usr/local/nginx/sbin/nginx

# chmod x /etc/rc.d/rc.local

(8)浏览器访问http://192.168.0.120

2、部署MySQL:

(1)关闭虚机,添加一块10G的新硬盘,用于存放关系型数据库数据:

(2)开启虚机,创建LVM逻辑卷,方便日后扩容:

答:磁盘分区:

# fdisk -l | grep /dev/sdb

# fdisk/dev/sdbnp回车 回车 回车t8epw

# partx -a /dev/sdb

备注:忽略错误提示" partx: /dev/sdb:添加分区一时出错"

#目录/处理器/分区

乙、创建PV:# pvcreate /dev/sdb1?# pvs

丙、创建VG:# vgcreate mysqlvg /dev/sdb1?# vgs

d、创建LV:# LV创建-l 100%免费mysqlvg -n mysqldata?# lvs

e、格式化LVM分区:# mke2fs-t ext 4/dev/mysqlvg/MySQL数据

女,创建挂载点:# mkdir -pv /data

g、开机自动挂载:

# vim/etc/fstab-/dev/mysqlvg/MySQL数据?/数据?ext4?默认值?0?0

h、挂载分区:# mount -a

我,查看分区信息:

# mount | grep mysqldata

# df -Th

(3)安装依赖软件包:

#美味可口安装gcc gcc-c make libxml 2-devel ncurses-devel OpenSSL OpenSSL-devel zlib-devel bison-devel

(4)创建关系型数据库用户和组:

# groupadd -r mysql

# useradd-g MySQL-r-s/sbin/nologin MySQL

# id mysql

(5)创建关系型数据库安装目录:# mkdir -pv /usr/local/mysql

(6)修改安装目录权限:# chown-R MySQL。MySQL/usr/local/MySQL

(7)创建用于存放关系型数据库数据目录:# mkdir -pv /data/mysql

(8)修改数据目录权限:

# chown -R mysql.mysql /data/mysql

# chmod -R o-rx /data/mysql

(9)删除厘斯7.7内置的MariaDB相关组件:

# rpm-QA | grep-I玛丽亚db玛丽亚db-libs-5。5 .64-1 .el7。x86 _ 64

# rpm-enodeps Maria d B- libs-5。5 .64-1 .el7。x86 _ 64

如果之前安装过MySQL,先删除:# rpm -qa | grep -i mysql

如果存在/etc/my.cnf配置文件,先删除:# rm -rf /etc/my.cnf

(10)编译安装CMake:

#哪个制造商

# cmake版本

# tar-xf cmake-3 . 15 . 3 . tar . gz-C/usr/src

# cd /usr/src/cmake-3.15.3

# ./引导程序

# gmake gmake安装

#哪个cmake-/usr/local/bin/cmake

# cmake版本

备注:MySQL 5.5版本之后,不再使用.配置,而是使用CMake

(11)解压促进库:

# tar-xf boost _ 1 _ 59 _ 0。焦油。广州-中国/美国/当地

# cd /usr/local

# mv升压_1_59_0升压

备注:MySQL 5.7版本编译安装时需要促进库支持,且建议促进库版本为1.59.0

(12)编译安装MySQL:

# tar-xf MySQL-5 . 7 . 27 . tar . gz-C/usr/src

# cd /usr/src/mysql-5.7.27

# cmake .-DC制造安装前缀=/usr/local/MySQL \ \ \ \

-dmy SQL _ DATADIR=/data/MySQL \ \ \ \

-dmy SQL _ UNIX _ ADDR=/usr/local/MySQL/MySQL。袜子\ \ \

-DMYSQL_TCP_PORT=3306 \\\\

-DSYSCONFDIR=/etc \\\\

-DDEFAULT_CHARSET=utf8 \\\\

-DEXTRA_CHARSETS=all \\\\

-DD default _ COLLATION=utf8 _ general _ ci \ \ \ \

-DWITH _存档_存储_引擎=1 \ \ \

-DWITH _ MYISAM _ STORAGE _ ENGINE=1 \ \ \

-DWITH _ inno base _ STORAGE _ ENGINE=1 \ \ \

-DWITH _ PARTITION _ STORAGE _ ENGINE=1 \ \ \ \

-德威思黑洞_存储_引擎=1 \\\\

-DWITH _ perf模式_存储引擎=1 \ \ \ \

-DWITH_LIBWRAP=0 \\\\

-DENABLED_LOCAL_INFILE=1 \\\\

-DWITH_DEBUG=0 \\\\

-DWITH_BOOST=/usr/local/boost

#制作制作安装

备注:编译安装需要很长时间

(13)创建关系型数据库配置文件:

# vim /etc/my.cnf

[mysqld]

端口=3306

socket=/usr/local/MySQL/MySQL。短袜

datadir=/data/mysql

basedir=/usr/local/mysql

lower _ case _ table _ names=1

character_set_server=utf8mb4

collation _ server=utf8mb 4 _ general _ ci

innodb_file_per_table=1

跳过名称解决=1

慢速查询日志=1

慢速_查询_日志_文件=MySQL-慢速。原木

符号链接=0

explicit _ defaults _ for时间戳=1

server_id=1

sync_binlog=1

innodb _ flush _ log _ at _ Trx _ commit=1

log_bin=mysql-bin

log_bin_index=mysql-bin.index

binlog_format=mixed

[mysqld_safe]

log-error=/var/log/mysql.log

pid-file=/var/run/mysql.pid

(14)初始化关系型数据库数据库:

#/usr/local/MySQL/bin/mysqlddefaults-file=/etc/my。CNF初始化user=MySQLbasedir=/usr/local/MySQLdatadir=/data/MySQL

备注:

答:初始化前确保/data/mysql目录为空

MySQL 5.7版本初始化数据库时不再使用mysql_install_db,而是使用mysqld初始化

丙、参数defaults-file=/etc/my。cn f要放在所有参数的第一位

d、会显示root@localhost用户的初始密码

(15)配置关系型数据库环境变量:

# vim /etc/profile.d/mysql.sh

导出路径=/usr/local/mysql/bin:$PATH

# ./etc/profile.d/mysql.sh

# mysql -V

# MySQL帮助|更少

(16)通过mysql.server管理服务进程:

# CP/usr/local/MySQL/support-files/MySQL。服务器/etc/init。d/mysqld

# chmod x /etc/init.d/mysqld

(17)配置关系型数据库开机自启:

# chkconfig添加mysqld

# chkconfig mysqld on

(18)启动MySQL:

# systemctl启动mysqld.service

# systemctl状态mysqld.service

# ps aux | grep mysqld

# ss -tunlp | grep -w :3306

# tail -100 /var/log/mysql.log

(19)配置关系型数据库安全向导:# mysql _ secure _安装

(20)登录MySQL,创建并授权\\\'root\\\'@\\\'192.168.0 .%\\\'用户远程管理:

# mysql -uroot -p

关系型数据库创建用户\\\'root\\\'@\\\'192.168.0 .%\\\ '由\\\'123456\\\ '标识;

mysql grant all on * .*到\\\'root\\\'@\\\'192.168.0 .%\\\'

mysql同花顺特权;

3、部署PHP:

(1)安装依赖软件包:

# yum-y install gcc gcc-c make pcre-devel zlib-devel OpenSSL-devel libxml 2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel expat-devel bzip2-devel curl-devel GMP-devel libc-client-devel recode-devel net-SNMP-devel libtidy-devel readline-devel libxslt-devel libicu-devel

(2)创建万维网用户和组:

# groupadd -r www

# useradd-g www-r-s/sbin/nologin www

# id www

(3)编译安装Libzip:

# tar-xf libzip-1。5 .2 .焦油。xz-C/usr/src

# cd /usr/src/libzip-1.5.2

#市场目录构建

# cd版本

# cmake.

#制作制作安装

备注:

答:不编译安装Libzip,会提示"配置:错误:请重新安装libzip发行版"

乙、需要先编译安装CMake,之前编译安装关系型数据库时已经安装过

(4)修改ld.so.conf配置文件:

# vim /etc/ld.so.conf,新增如下代码:

/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64

# ldconfig -v

备注:不执行此步骤,在编译安装服务器端编程语言(专业超文本预处理器的缩写)时会提示"配置:错误:off_t未定义;检查您的库配置"

(5)编译安装PHP:

# tar-xf PHP-7。3 .9 .焦油。xz-C/usr/src

# cd /usr/src/php-7.3.9

# ./configureprefix=/usr/local/PHPdisable-rpathenable-fpmwith-fpm-user=wwwwith-fpm-group=wwwwith-litespeedenable-PHP dbgenable-PHP dbg-web helperwith-config-file-path=/usr/local/PHP/etcwith-config-file-scan-dir=/usr/local/PHP/etc/PHP。denable-SIG childenable-lib gccdisable-IPv6enable-enable

#制作制作安装

备注:编译安装需要很长时间

(6)创建php.ini配置文件:# CP/usr/src/PHP-7。3 .9/PHP。ini-production/usr/local/PHP/etc/PHP。初始化设置文件的后缀名

(7)创建php-fpm.conf配置文件:# CP/usr/local/PHP/etc/PHP-fpm。糖膏剂默认为/usr/local/PHP/etc/PHP-fpm。conf

备注:php-fpm,PHP FastCGI进程管理器,PHP FastCGI进程管理器,通过FastCGI方式,将服务器端编程语言(专业超文本预处理器的缩写)作为独立的服务运行

(8)创建并修改www.conf配置文件:

# CD/usr/local/PHP/etc/PHP-fpm。d

# cp www.conf.default

# vim www.conf

修改前

修改后

听着。=127.0.0.1:9000

听着。=192.168.0.120:9000

?(9)配置服务器端编程语言(专业超文本预处理器的缩写)环境变量:

# vim /etc/profile.d/php.sh

导出路径=/usr/local/PHP/sbin:/usr/local/PHP/bin:$ PATH

# ./etc/profile.d/php.sh

# php -v

# php -h | less

# php-fpm -h

(10)通过php-fpm.service管理服务进程:# CP/usr/src/PHP-7。3 .9 SAPI/fpm/PHP-fpm。service/usr/lib/systemd/system/

(11)启动php-fpm:

# php-fpm -t

# systemctl启动php-fpm.service

# systemctl状态php-fpm.service

# ps aux | grep php-fpm

# ss -tunlp | grep 9000

# tail-100/usr/local/PHP/var/log/PHP-fpm。原木

(12)配置服务器端编程语言(专业超文本预处理器的缩写)开机自启:# systemctl启用php-fpm.service

4、Nginx整合PHP:

(1)修改nginx.conf配置文件:

# cd /usr/local/nginx/conf

# vim nginx.conf

工作者_进程?自动;

位置/{

根超文本标记语言

指数?index.phpindex.htmlindex.htm;

}

位置~ \\\\。php$ {

根?超文本标记语言

fastcgi _ pass 192。168 .0 .120:9000;

fastcgi_index?index.php;

fastcgi_param?脚本_文件名?$ document _ root $ fastcgi _ script _ name;

包括fastcgi _ params

}

# nginx -t

# nginx -s重新加载

(2)创建测试页:

# vim/usr/local/nginx/html/index。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

?服务器端编程语言(专业超文本预处理器的缩写)

$ conn=mysqli _ connect(192。168 .0 .120,根,123456);

如果(连接)

echo mysqli_connect成功;

其他

echo mysqli_connect失败;

mysqli _ close();

phpinfo();

备注:如果在新版本服务器端编程语言(专业超文本预处理器的缩写)中使用旧版本服务器端编程语言(专业超文本预处理器的缩写)的mysql_connect()函数连接MySQL,会提示未定义的函数mysql_connect()。从PHP 5.5版本开始,MySQL就不推荐使用mysql_connect()函数,属于废弃函数,PHP 7中已经彻底不支持,增加了mysqli_connect()函数。从某种意义上说,mysqli是关系型数据库系统函数的增强版,更稳定、更高效、更安全,属于面向对象,用对象的方式操作驱动关系型数据库数据库。

(3)浏览器访问http://192.168.0.120

停止MySQL:# systemctl停止mysqld.service

刷新页面:

三、搭建扎比克斯:

1、部署扎比克斯:

(1)安装依赖软件包:

#美味可口安装gcc gcc-c make net-SNMP-devel libxml 2-devel libcurl-devel libevent-devel zlib-devel OpenSSL OpenSSL-devel fping

(2)创建扎比克斯用户和组:

# groupadd -r zabbix

# useradd-g zabbix-r-s/sbin/nologin zabbix

# id zabbix

(3)解压JDK:

# java版本

# tar-xf JDK-8u 221-Linux-x64 . tar . gz-C/usr/local

# cd /usr/local

# ln -sv jdk1.8.0_221 jdk

备注:编译安装Zabbix 4.2.6时如果启用启用Java语言(一种计算机语言,尤用于创建网站)选项,需要配置JDK

(4)配置JDK环境变量:

# vim /etc/profile.d/jdk.sh

导出JAVA_HOME=/usr/local/jdk

导出类路径=。$ JAVA _ HOME/lib/dt。jar:$ JAVA _ HOME/lib/tools。冲突

导出路径=$JAVA_HOME/bin:$PATH

# ./etc/profile.d/jdk.sh

# echo $JAVA_HOME

# java版本

(5)查找mysql_config路径:# find/-name MySQL _ config-/usr/local/MySQL/bin/MySQL _ config

(6)编译安装扎比克斯:

# tar-xf zabbix-4 . 2 . 6 . tar . gz-C/usr/src

# cd /usr/src/zabbix-4.2.6

# ./configureprefix=/usr/local/zabbixenable-serverenable-proxyenable-agentenable-Javawith-MySQL=/usr/local/MySQL/bin/MySQL _ configwith-libxml 2with-net-SNMPwith-zlibwith-libeventwith-OpenSSLwith-libcurl

#制作制作安装

(7)配置扎比克斯环境变量:

# vim /etc/profile.d/zabbix.sh

导出路径=/usr/local/zabbix/sbin:/usr/local/zabbix/bin:$ PATH

# ./etc/profile.d/zabbix.sh

# ln-SV/usr/local/MySQL/lib/lib MySQL客户端。所以。20/usr/lib 64/libmysql客户端。所以。20

备注:不执行此步骤,在执行# zabbix _ server版本命令时会提示" zabbix_server:加载共享库时出错:libmysqlclient.so.20:无法打开共享对象文件:没有这样的文件或目录"

# zabbix _ server版本

# zabbix_server -h | less

2、配置扎比克斯:

(1)登录MySQL,创建扎比克斯数据库和\\\'zabbix\\\'@\\\'192.168.0 .%\\\'用户,并授权\\\'zabbix\\\'@\\\'192.168.0 .%\\\'用户远程管理:

# mysql -uroot -p

关系型数据库创建数据库扎比克斯字符集utf8分页utf8 _ bin

关系型数据库创建用户\\\'zabbix\\\'@\\\'192.168.0 .%\\\ '由\\\'123456\\\ '标识;

mysql grant all on zabbix .*到\\\'zabbix\\\'@\\\'192.168.0 .%\\\'

mysql同花顺特权;

(2)初始化扎比克斯数据库:

关系型数据库用扎比克斯

MySQL源码/usr/src/zabbix-4。2 .6/数据库/MySQL/schema。结构化查询语言

MySQL源码/usr/src/zabbix-4。2 .6/数据库/MySQL/图片。结构化查询语言

MySQL源码/usr/src/zabbix-4。2 .6/数据库/MySQL/数据。结构化查询语言

备注:SQL语句的导入顺序不能改变

(3)修改zabbix_server.conf配置文件:

# cd /usr/local/zabbix/etc

# CP zabbix _ server。conf zabbix _ server。糖膏剂bak

# vim zabbix_server.conf

修改前

修改后

# ListenPort=10051

ListenPort=10051

LogFile=/tmp/zabbix_server.log

日志文件=/usr/local/zabbix/zabbix _ server。原木

# DBHost=本地主机

DBHost=192.168.0.120

DBName=zabbix

保持默认

DBUser=zabbix

保持默认

# DBPassword=

DBPassword=123456

# DBSocket=

db socket=/usr/local/MySQL/MySQL。短袜

#数据库端口=

DBPort=3306

# ListenIP=127.0.0.1

ListenIP=192.168.0.120

# ?警报脚本路径=$ { datadir }/zabbix/警报脚本

警报脚本路径=/usr/local/zabbix/share/zabbix/警报脚本

# ?外部脚本=$ { datadir }/zabbix/外部脚本

外部脚本=/usr/local/zabbix/share/zabbix/外部脚本

# FpingLocation=/usr/sbin/fping

FpingLocation=/usr/sbin/fping

# AllowRoot=0

AllowRoot=0

# user=zabbix

user=zabbix

chown-r zab bix。zab bix/usr/local/zab bix

(5)启动zabbix_server:

# zabbix _ server

# ps到| grep zabbix _ server

# ss -tunlp | grep 10051

# tail-100/usr/local/zabix/zabix _ server。日志-明细行-100/usr/local/zabix/zabix _ server。原木

(6)配置zabbix_server开机自启:

#我来了/etc/rc.d/rc本地

/usr/local/zab bix/sbin/zab bix _ server(本地/扎b bix/服务器)

# chmod x /etc/rc.d/rc。本地

mkdir-PV/usr/local/engine/html/zabix

(8)复制服务器端编程语言(Professional Hypertext Preprocessor的缩写)文件至扎比克斯网页存放目录:

# CP-a/usr/src/zabix-4。2 .6/前端/PHP/*/usr/local/engine x/html/zabix/

chown-r发动机。引擎x/usr/local/引擎x中

(10)浏览器访问http://192 . 168 . 0 . 120/扎比克斯

(11)修改php.ini配置文件:

#我来了/usr/local/php/etc/php.ini

修改前

修改后

post_max_size?=8米

post_max_size?=16米

最大执行时间?=30

最大执行时间?=300

max_input_time?=60

max_input_time?=300

;日期时间区?=

日期时间区?=亚洲/上海

# systemctl重新启动php-fpm。服务重新启动PHP-fpm。服务

(12)浏览器刷新页面,继续访问http://192 . 168 . 0 . 120/扎比克斯

备注:zabbix用户没有权限在nginx目录中创建文件

(13)按提示下载zabbix.conf.php文件

(14)将下载的zabbix.conf.php文件上传至/usr/local/nginx/html/zabbix/conf/目录

chown引擎。引擎x/usr/local/引擎x/html/zabix/conf/zabix。糖膏剂服务器端编程语言(Professional Hypertext Preprocessor的缩写)

(16)浏览器刷新页面,继续访问http://192 . 168 . 0 . 120/扎比克斯

(17)登录扎比克斯,用户名管理员,密码扎比克斯:

(18)修改管理用户默认密码:

管理-用户-管理-更改密码-更新

退出重新登录:

札比克斯

配置主机服务器禁用

(20)禁用客人用户:

管理-用户组-禁用

管理-用户-

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3