怎样进行LAMP源码安装以及如何创建zabbix监控
发布时间:2022-01-13 15:00:22 所属栏目:MySql教程 来源:互联网
导读:怎样进行LAMP源码安装以及如何搭建zabbix监控,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1、系统环境检查,版本说明 1)版本说明 #httpd-2.4.25 #mysql-5.7.17-linux-glibc2.5-x86_64
怎样进行LAMP源码安装以及如何搭建zabbix监控,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1、系统环境检查,版本说明 1)版本说明 #httpd-2.4.25 #mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版 #php5.6.30 #zabbix-3.0.8 2)关闭selinux、iptables,检查系统版本信息 sed -i 's/SELINUX=enabled/SELINUX=disabled/g' /etc/selinux/config getenforce 0 /etc/init.d/iptables stop cat /etc/redhat-release CentOS release 6.7 (Final) uname -r 2.6.32-431.el6.x86_64 uname -m x86_64 2、安装apache http://httpd.apache.org/download.cgi #apache官网 #新建apache运行用户 useradd -s /sbin/nologin -M www mkdir tools cd tools#下载http代码包 wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.gz wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz #附上aliyun下载地址 wget -c http://mirrors.aliyun.com/apache/apr/apr-1.5.2.tar.gz wget -c http://mirrors.aliyun.com/apache/apr/apr-util-1.5.4.tar.gz wget -c http://mirrors.aliyun.com/apache/httpd/httpd-2.4.25.tar.gz #安装插件apr和apr-util #编译安装apr tar xf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr-1.5.2 make && make install echo $? ln -s /usr/local/apr-1.5.2/ /usr/local/apr cd .. #编译安装apr-util tar xf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/ echo $? make && make install echo $? ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util cd ..#安装功能包 yum install pcre-devel zlib-devel openssl-devel -y #安装apache tar zxvf httpd-2.4.25.tar.gz cd httpd-2.4.25./configure --prefix=/usr/local/httpd-2.4.25 --with-apr=/usr/local/apr-1.5.2 --with-apr-util=/usr/local/apr-util-1.5.4 --enable-so --enable-deflate --enable-expires --enable-headers --enable-ssl --enable-rewrite --enable-mpms-shared=all --with-mpm=prefork --enable-mods-shared=most #编译与安装 make make install 配置参数解释: #--prefix= apache安装目录。默认情况下,安装目录设置为 /usr/local/apache2。 #--sysconfdir= 指定配置文件安装路径 #--with-apr= 如果要使用已安装的APR,则必须告诉脚本configure的apr的安装路径 #--with-apr-util 指定已安装的apr-util的安装路径 #--enable-so 允许运行时加载DSO模块 #--enable-cgi 启用cgi协议 #--with-zlib 启用zlib库文件 #--with-pcre 指定pcre的安装路径 #--enable-modules=most 启用大多数共享模块 #--enable-deflate 压缩传输编码支持 #--enable-expires Expires头控制 #--enable-headers HTTP头控制 #--enable-ssl 启动ssl加密功能,SSL/TLS支持(mod_ssl) #--enable-rewrite 基于规则的URL操作,启用URL重写功能 #--enable-mpms-shared=all 空间分隔的MPM模块列表启用,动态加载 #--with-mpm=prefork 指定使用的MPM的类型, 选择Apache使用的进程模型(event|worker|prefork|winnt) #--enable-mods-shared=most 启用MPM大多数参数, 定义要启用并构建为动态共享模块的模块列表,默认设置为most(all|most|few|reallyall) #去版本号,做链接 ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd #配置http环境变量 echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile . /etc/profile #查看http模块 ls /usr/local/httpd/modules #查看安装的模块 /usr/local/httpd/bin/apachectl -l /usr/local/httpd/bin/apachectl -M apachectl -t -D DUMP_MODULES #修改http配置文件 sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf #启动apache服务 apachectl start #查看http服务 netstat -lntup|grep httpd tcp 0 0 :::80 :::* LISTEN 56389/httpd #配置启动脚本 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd chmod +x /etc/init.d/httpd /etc/init.d/httpd stop netstat -lntup|grep httpd /etc/init.d/httpd start netstat -lntup|grep httpd vim /etc/init.d/httpd #在开始位置添加: # chkconfig: 345 85 15 # description: this my apache is httpd server #加入系统启动服务,开机自启动 chkconfig --add httpd chkconfig httpd on chkconfig --list httpd #测试访问正常!到此apache安装完成! #一键式安装apache 2.4.25 useradd -s /sbin/nologin -M wwwm kdir ~/tools cd ~/tools /bin/ping baidu.com -c 2[ $? -eq 0 ] && { wget wget wget } || exit 110 tar xf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr-1.5.2 make && make install echo $? [ $? -eq 0 ] && { ln -s /usr/local/apr-1.5.2/ /usr/local/apr cd .. } #编译安装apr-util tar xf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/ make && make install echo $? sleep 2 ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util cd .. yum install pcre-devel zlib-devel openssl-devel -y tar zxvf httpd-2.4.25.tar.gz cd httpd-2.4.25 ./configure --prefix=/usr/local/httpd-2.4.25 --with-apr=/usr/local/apr-1.5.2 --with-apr-util=/usr/local/apr-util-1.5.4 --enable-so --enable-deflate --enable-expires --enable-headers --enable-ssl --enable-rewrite --enable-mpms-shared=all --with-mpm=prefork --enable-mods-shared=most echo $? sleep 2 make make install ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile . /etc/profile sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf apachectl start netstat -lntup|grep 80 >/dev/null && echo OK! 3、MySQL安装与配置,此处为二进制安装 useradd -s /sbin/nologin -M mysql wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17 ln -s /usr/local/mysql-5.7.17 /usr/local/mysql #创建数据库文件目录 mkdir -p /data/mysql chown -R mysql.mysql /data/ #配置启动脚本文件,并加入系统服务,自启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on #配置mysql配置文件 cat > /etc/my.cnf << EOF [client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8 [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/mysql datadir = /data/mysql pid-file = /data/mysql/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 init-connect = 'SET NAMES utf8' character-set-server = utf8 #skip-name-resolve #skip-networking back_log = 300 max_connections = 1000 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 4M binlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M read_buffer_size = 2M read_rnd_buffer_size = 8M sort_buffer_size = 8M join_buffer_size = 8M key_buffer_size = 4M thread_cache_size = 8 query_cache_type = 1 query_cache_size = 8M query_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-bin binlog_format = mixed expire_logs_days = 30 log_error = /data/mysql/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql-slow.log performance_schema = 0 explicit_defaults_for_timestamp #lower_case_table_names = 1skip-external-locking default_storage_engine = InnoDB #default-storage-engine = MyISAM innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 64M innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 32M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 16M [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M EOF #初始化数据库: /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #配合环境变量 echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile . /etc/profile #启动MySQL服务 /etc/init.d/mysqld start Starting MySQL.. SUCCESS! netstat -lntup|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 28150/mysqld ps -ef |grep mysql root 28284 1 2 07:26 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid mysql 29119 28284 5 07:26 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql-error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306 #修改root密码: 法1:mysql -uroot -e "Set password=password(‘123.com’);" 法2:mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456.com') where user='root';" 法3:update mysql.user set authentication_string=password("123.com") where user='root'; 4、PHP的安装与配置 #查看apache和MySQL启动是否正常 netstat -lntup|egrep '80|3306' tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 29119/mysqld tcp 0 0 :::80 :::* LISTEN 26925/httpd 1)扩展支持(mcrypt、mhash扩展和libevent) mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。 mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。 mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制 它主要用来替换事件驱动的网络服务器上的event loop机制。 目前来说, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。 centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 可以使用第三方源,这样还可以使用yum来安装 安装第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic 使用yum命令安装 yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel 2)支持xml的相关包 支持xml的rpm包 bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件能够高效的完成文件数据的压缩 libcurl主要功能就是用不同的协议连接和沟通不同的服务器,也就是相当封装了的sockPHP libcurl允许你用不同的协议连接和沟通不同的服务器 yum install libxml2 libxml2-devel bzip2-devel libcurl-devel 3)图形相关的rpm包 yum install libjpeg-devel libpng-devel freetype-devel #可复制批量安装,中间加了一些常用的包,可检查是否安装,否则后面配置时会报错 wget http://www.atomicorp.com/installers/atomic sh ./atomic yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel gd-devel curl-devel openssl-devel libxslt-devel* php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel libxml2 libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel 如yum安装有问题可以编译安装mcrypt、libmcrypt、mhash库: 下载地址: wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure --prefix=/usr/local/libmcrypt make && make install cd .. tar -zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9 ./configure make && make install cd .. tar zxvf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt/ make && make install cd .. echo "/usr/local/libmcrypt/lib" >>/etc/ld.so.conf.d/lib.conf echo "/usr/local/lib" >>/etc/ld.so.conf.d/lib.conf #配置额外的库文件路径,也就是上面安装的库文件需要指定路径重新加载 ldconfig -v #重新加载库文件 注意:此处源码只安装了在国内yum库中无法安装的库文件,如PHP配置时缺少包文件需要yum安装。 #安装PHP wget http://219.238.7.71/files/1007000009B9E9D0/cn2.php.net/distributions/php-5.6.30.tar.gztar zxvf php-5.6.30.tar.gz cd php-5.6.30 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/httpd/bin/apxs --enable-inline-optimization --enable-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-gettext --enable-mbstring --with-iconv=/usr/local/libiconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-ctype --enable-xml echo $? make make install cp php.ini-production /usr/local/php/etc/php.ini #检查apache和PHP整合 grep modules/libphp5.so /usr/local/httpd/conf/httpd.conf 修改apache配置文件: vim /usr/local/httpd/conf/httpd.conf ServerName 127.0.0.1:80 #增加: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps #修改用户: User www Group www #修改主页文件: <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> #检查apache配置文件: /usr/local/httpd/bin/apachectl -t Syntax OK #编写测试页,测试PHP是否正常解析 vim /usr/local/apache/htdocs/index.php <?php phpinfo(); ?> #重新加载apache配置文件 /usr/local/apache/bin/apachectl graceful 测试访问正常! #编写测试代码,测试数据库链接是否正常 vim /usr/local/apache/htdocs/mysql-test.php <?php //$link_id=mysql_connect('主机名','用户','密码'); $link_id=mysql_connect('localhost','root','123.com') or mysql_error(); if($link_id){ echo "mysql is ok!n"; }else{ echo "mysql_error()"; } ?> #到此LAMP安装完成! 5、zabbix安装配置 wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.8/zabbix-3.0.8.tar.gz #安装支持监控snmp包监控交换机等 yum install net-snmp-devel tar zxvf zabbix-3.0.8.tar.gz cd zabbix-3.0.8 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 make && make install echo $? #配置数据库导入数据 mysql>create database zabbix; mysql>grant all on zabbix.* to 'zabbixuser'@'localhost' identified by '123.com'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> use zabbix; mysql> source /root/tools/zabbix-3.0.8/database/mysql/schema.sql mysql> source /root/tools/zabbix-3.0.8/database/mysql/p_w_picpaths.sql mysql> source /root/tools/zabbix-3.0.8/database/mysql/data.sql #初始化sql文件在源码包/root/zabbix-3.0.4/database/mysql目录下 #配置zabbix_server配置文件修改如下: vim /usr/local/zabbix/etc/zabbix_server.conf LogFile=/usr/local/zabbix/logs/zabbix_server.log DBHost=localhsot DBName=zabbix DBUser=zabbixuser DBPassword=123.com #zabbixuser的密码 LogSlowQueries=3000 cp misc/init.d/fedora/core/* /etc/init.d/ chmod +x /etc/init.d/zabbix_server chmod +x /etc/init.d/zabbix_agentd sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server useradd -s /sbin/nologin -M zabbix mkdir /usr/local/zabbix/logs chown -R zabbix.zabbix /usr/local/zabbix/ /etc/init.d/zabbix_agentd start /etc/init.d/zabbix_server start netstat -lntup|grep 1005 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 28005/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 27916/zabbix_server #拷贝代码文件到apache发布目录下修改名为zabbix: cp -a frontends/php /usr/local/httpd/htdocs/zabbix sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#g' /usr/local/php/etc/php.ini sed -i 's#post_max_size = 8M#post_max_size = 16M#g' /usr/local/php/etc/php.ini sed -i 's#max_execution_time = 30#max_execution_time = 300#g' /usr/local/php/etc/php.ini sed -i 's#max_input_time = 60#max_input_time = 300#g' /usr/local/php/etc/php.ini #去掉前面的#号即可,纠结了半天。 sed -i 's#;always_populate_raw_post_data = -1#always_populate_raw_post_data = -1#g' /usr/local/php/etc/php.ini #重新加载apache /usr/local/httpd/bin/apachectl graceful 最后一步(install)会报错,无法创建配置文件。 下载配置文件,保存到/usr/local/httpd/htdocs/zabbix/conf/zabbix.conf.php 重新登陆即可:usename:admin password:zabbix 修改中文:administration>>users>>admin>>language(chinese(zh_CN)) 更新网页即可。 解决图形界面中文乱码的问题: 从windows下控制面板->字体->选择一种中文字库例如“楷体” cd /usr/local/httpd/htdocs/zabbix/fonts mv DejaVuSans.ttf DejaVuSans.ttf.bak rz 上传字体文件simkai.ttf到当前目录 ls DejaVuSans.ttf.bak simkai.ttf vim ../include/defines.inc.php 在VIM编辑中使用替换功能将DejaVuSans替换成simkai,不添加后缀。 :%s/DejaVuSans/simkai 问题1: ./zabbix_server ./zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory 解决: # find / -name "libmysqlclient.so.20" /usr/local/mysql-5.7.17/lib/libmysqlclient.so.20 ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib ldconfig 看完上述内容,你们掌握怎样进行LAMP源码安装以及如何搭建zabbix监控的方法了吗? (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |