简易拓扑 :
相关系统版本等内容:详见《 zabbix 操作系统及软件版本》
一 , 编译安装 apache
请安照编译方式进行安装- à 如下↓
apache 安装实战指南
#rpm -e --nodeps httpd*
#卸载已安装的http rpm安装包。如果是使用yum安装的,可以#yum -y remove httpd*来进行卸载。
-e 等同于 --erase表示移除意思。
-- nodeps英文解释don't do a dependencycheck .意思是不做软件间的依赖检查。
一,开始安装 apache
[root@apache]#mkdir -p /home/oldboy/tools
#建立一个软件下载目录。
[root@apache]#cd /home/oldboy/tools
[root@apache]# wget http://apache.fayea.com/apache-mirror/httpd/httpd-2.2.23.tar.gz
#可进官网去下载,http://www.apache.org
http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.25.tar.gz
[root@apache]#yum install zlib-devel -y
#需要安装zlib函数库。
[root@apache]#./configure \
--prefix=/application/apache2.2.23\
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-modules=most \
--enable-so \
--with-mpm=worker \
--enable-rewrite
#./configure后的参数说明:
#1.--prefix=/application/apache2.2.22表示指定apache安装路径为/application/apache2.2.22.如果不指定会安装在默认安装路径,默认安装路径为[/usr/local/apache2]
#2.--enable-deflate提供对内容的压缩传输编码支持,一般html,js,css等内容的站点,使用此参数功能会大大提高传输速冻,提升访问者的访问体验。再生产环境中,这是 apache 调优的一个重要选项之一。
#3.--enable-expires激活允许通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片,js,css等内容,提供在客户端浏览器缓存的设置,这是 apache 调优的一个重要选项之一。
#4.--enable-headers提供允许对HTTP请求头的控制。
#5--with-mpm=worker选择apache mpm的模式为worker模式,因worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求,而系统资源的开销小于基于进程的mpm prefork。如果不指定此参数,默认的模式是prefork进程模式。这是 apache 调优的一个重要选项之一。
#6.--enable-rewrite 提供基于URL规则的重写功能,即根据已知URL地址,转换其它想要的URL地址。如前文讲解的伪静态功能就是这个模块实现的。这是apache在生产环境中必用的一个重要功能。
#7.--enable-so 激活apache服务的DSO支持,即在以后可以使用DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。
[root@apache]#make
[root@apache]#make install
[root@apache]#ln -s /application/apache2.2.22 /application/apache
# 重要步骤
[root@apache]#/application/apache2.2.22/bin/apachectl - l # 查看安装后的模块。检查编译的情况。
二,apache 启动检查和错误排查
[root@apache]# application/apache/bin/apachectl start
#启动apache服务。
[root@apache]#netstart -lnt #查看服务端口信息。
[root@apache]#lsof -i tcp:80 #检查端口对应的服务名称。
[root@apache]#ps -ef|grep http #查看服务进程。
如果不出现it works 的内容页面,请从下面原因一次排除。
1.iptables 防火墙和selinux 是否关闭。
1.#/etc/init.d/iptales stop
#这是关闭防火墙的命令。
如果在生产环境中,需要更改iptables文件,允许80端口访问
命令如下:
#iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#添加允许条目到iptables文件中去。
#/etc/init.d/iptables status
#查看防火墙启用状态。
2.关闭selinux
#setenforce 0 #这是临时关闭方法。
#vi /etc/selinux/config #更改selinux配置文件,将SELINUX=disabled 这是永久关闭方法。
2. 通过命令查看httpd 端口80 是否存在:
#netstat -lnt |grep 80
3. 查看是否有http 进程存在。
#ps -ef|grep http
4.在服务器本地wget http://服务器地址测试
5.查看apache的错误日志看看是否有特殊异常。
#tail -100 /application/apache/logs/erro_log
二 , 编译安装 mysql
编译安装完成后,初始化时将数据库放置在/data 下。à 如下↓
lamp 系列之 -MYSQL 单实例的安装配置
mysql 开源领域的关系型数据库产品。
社区GA 版本为环境使用版本。
存储引擎:常用 myisam 和 innodb引擎。
mysql5.0 -5.1 使用myisam引擎。生产环境当中使用innodb引擎比较多。
MySQL 数据库生产环境如何选择合适的版本
1,分析本企业业务,需要使用到MYSQL那些基本功能和特性,特性重点方向研究为:mysql复制,分区表,plugin-innodb等。
2,mysql数据库产品线第一个GA版本推出时间,至少超过10个月,在考虑使用到生产环境:
3,mysql数据库产品线上的最新GA版本,一般向后退3-4个版本的GA版本数据库,作为可选的目标;
一,单实例mysql 数据库的安装
1 ,建立mysql 账号
#groupadd mysql
#useradd -s /sbin/nologin-g mysql -M mysql
-M表示不创建用户家目录。
建立mysql软件目录:
#mkdir -p/home/oldboy/tools
2, 编译安装mysql
# yum install libtermcap-develncurses-devel -y # 安装该函数库可以避免以下错误。
#wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.62.tar.gz
#tar zxfmysql-5.1.62.tar.gz
[root@mysql mysql-5.1.62]#./configure \
--prefix=/usr/local/mysql\
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock\
--localstatedir=/data/mysql/data\
--enable-assembler \
--enable-thread-safe-client\
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex\
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase\
--with-plugin-PLUGIN \
--with-mysqld-ldflags=-all-static\
--with-client-ldflags=-all-static
#make &&makeinstall
##可用./configure --help 来查看参数配置。
安装完mysql后需要执行以下步骤:
1,获取mysql配置文件;
2,创建mysql数据库文件。初始化数据库。
3,启动数据库;
4,配置mysql命令全局使用路径;
5,配置/etc/init.d/mysqld start 方式启动数据库;
6,配置开机自启动;
7,检查mysql数据库错误日志;
获取mysql 配置文件
#ll support-files|grep*.cnf
#/bin/cpsupport-files/my-medium.conf /etc/my.cnf
#mysql 默认配置文件路径。
创建mysql 数据库文件
#mkdir -p/usr/local/mysql/data
#chown -R mysql/usr/local/mysql #授权mysql用户访问mysql的安装目录
#/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql--datadir=/data/mysql/data --user=mysql #初始化mysql数据库文件
启动数据库
#/usr/local/mysql/bin/mysqld_safe& #启动mysql数据库。
#netstat -lnt |grep3306 #检查mysql数据库端口。
#mysql #默认登录mysql,不需要密码。
检查错误文件
#tail -10/usr/local/mysql/data/oldboy.err #默认mysql的错误日志,是放在data目录下以主机名命名的err日志。
配置mysql 命令全局使用路径
1#echo 'exportPATH=$PATH:/usr/local/mysql/bin' >>/etc/profile #添加全局配置,这样以后输入mysql命令就能进入mysql。
#. /etc/profile #使变量生效。
2#还有另外一个办法,就是把/usr/local/mysql/bin下面的命令拷贝到全局系统命令路径/usr/local/sbin下面也可以。
配置/etc/init.d/mysqld start 方式启动数据库
#cpsupport-files/mysql.server /etc/init.d/mysqld #拷贝mysql启动脚本到/etc/init.d/下。
#chmod 700/etc/init.d/mysqld #授权700权限,即脚本可执行。
#/etc/init.d/mysqldrestart #可用这种方式启动了..
配置开机自启动
#chkconfig --add mysqld
#chkconfig mysqld on
#chkconfig --list mysqld
也可以将mysql启动命令,加入到/etc/rc.local中。
三,编译安装 php
请安照编译方式进行安装。à 如下↓
lamp 系列之 PHP 安装配置指南
1 ,安装PHP 程序环境
php安装要依赖apache和mysql。
1,1 检查apache 及mysql 的安装情况
检查apache和mysql是否安装。
#/application/apache/bin/apachectl-v #检查apache版本
#mysql -uroot -p'oldboy123' -e "selectversion();" #检查mysql的版本。
1,2 检查安装php 所需要的lib 库
#rpm -qa zlib libxml libjpeg freetype libpng gdcurl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devellibpng-devel gd-devel curl-devel
#如果没有安装这些库,可以使用以下方法:
#yum groupinstall "xsoftware development"
1,3 安装libiconv 库
#cd /server/soft #自定义的软件下载目录
#wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#tar zxflibiconv-1.14.tar.gz
#cd libiconv-1.14
#./configure--prefix=/usr/local/libiconv
#make &&makeinstall
##相关地址:http://www.gnu.org/software/libiconv/ (获得地址的方法:www.g.cn 输入download libiconv 使用谷歌进行搜索)
2 ,开始安装PHP
2.1 获取php 软件包
#cd /server/soft
#wgethttp://php.net/get/php-5.3.20.tar.gz/from/cn2.php.net/mirror
##当然也可以去网上下载http://php.net
2.2解压配置
#tar zxf php-5.3.20.tar.gz
#cd php-5.3.20
#./configure \
--prefix=/application/php5.3.20\
--with-apxs2=/application/apache2.2.25/bin/apxs\
--with-mysql=/usr/local/mysql\
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv\
--enable-short-tags \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
--enable-sigchild \
--enable-pcntl \
--enable-bcmath
安装:
#make
#make install
配置:
#ln -s/application/php5.3.10 /application/php #创建软连接。
#ls -l /application/php
#ls php.ini-* #为php的配置文件。
php.ini-development(开发测试版) php.ini-production(生产环境正式版)
#diff php.ini-development php.ini-production #可以比较以下。
#/bin/cpphp.ini-production /application/php/lib/php.ini #拷贝配置文件到php路径下面。
3 ,配置apache 支持php
3.1 修改apache 配置文件
执行如下命令编辑apache的主配置文件httpd.conf:
#cd/application/apache/conf/
#cp httpd.confhttpd.conf.oldboy.20130502 #养成操作前备份的习惯。
#vi/application/apache/conf/httpd.conf +98 #切换到httpd.conf第98行。
#此时的apache配合文件的路径为 /application/apache/conf
#增加如下内容:
ServerName 127.0.0.1:80
转换到311行即AddType application/X-gizp.gz.tgz行的下一行加两行对php的解析支持内容:
AddType application/x-httpd-php .php .phptml
AddType application/x-httpd-php-source .phps
修改damon用户为ett #也可以不修改。
User ett
Group ett
#如果不存在ett用户,一会保存好配置,需要执行 useradd ett -M-s /sbin/nologin建立ett
转到166行修改默认的首页文件,本例中增加一个index.php
DirectoryIndex index.phpindex.html
#完成后保存并比较修改结果:
#diff httpd.confhttpd.conf.oldboy.20130502
3.2检查并启动apache
检查apache配置文件的语法:
#/application/apache/bin/apachectl-t #检查语法正确性
重启apache服务:
#/application/apache/bin/apachectlgraceful #平滑启动apache
#特别说明:此处如果不关闭SELINUX将报下面的错误:
临时解决:
#setenforce 0
永久解决:
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
提示:两者同时使用,这样重启前后都是生效的。
3.3 测试php 环境
进入指定的默认站点目录后,编辑index.php添加:
关闭开启的虚拟主机包含的文件:
#sed -i 's#Includeconf/extra/httpd-vhosts.conf#\#Include conf/extra/httpd.vhosts.conf#g' /application/apache/conf/httpd.conf #注释掉虚拟主机配置
#grep httpd-vhosts.conf/application/apache/conf/httpd.conf #检查是否正确
#/application/apache/bin/apachectl-t #检查语法。
#/application/apache/bin/apachectlgraceful #重启apache
进入默认的apache站点目录
#cd/application/apache/htdocs/
#vi phpinfo.php
注意:
如果phpinfo 的内容如下:
#vi phpinfo.php
需要修改php.ini 将short_open_tag= Off ----> 改成On
重启apache 或nginx
总结:更改php 短标签,也就是让php 程序认识 里面的语句, 这样的格式: 而长标签就应该是 后之后也是可以正常访问的。
3.4 开启浏览器,输入IP 地址进行访问。
测试完需要删掉。
4, 测试php 连接mysql 是否正常
编辑test_mysql.php加入如下内容
linux php扩展安装gettext模块
# cd/server/soft/php-5.3.20
# cd ext/
# cd gettext/
[root@3350 gettext]#/application/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@3350 gettext]# ./configure --with-php-config=/applicaiton/php/bin/php-config --with-gettext
[root@3350 gettext]# make && make install
[root@3350 etc]# vim php.ini 添加如下内容
extension_dir = /application/php5.3.20/lib/php/extensions/no-debug-zts-20090626/
extension = gettext.so
[root@3350 etc]# /application/php/bin/apachectl restart
四:编译安装 zabbix
具体步骤如下:
解压zabbix安装包
tarzxvfzabbix-2.0.8.tar.gz
增加系统用户zabbix
useraddzabbix-s/sbin/nologin
启动数据库:
/data/3306/mysqlstart
设置mysql 登陆密码
登陆数据库,并创建 zabbix 数据库
mysql -uroot -p'autohome' -S /data/3306/mysql.sock
create database zabbix;
grant all on zabbix.* to zabbix@localhost identified by ‘zabbix’;
exit
安装 fping
http://download.chinaunix.net/down.php?id=41795&ResourceID=3222&site=1
tar zxf fping-3.0.tar
./configure
make&&makeinstall
/usr/local/sbin/fping#直接键入命令后运行
/usr/local/man/man8/fping.8#此处为man文件
yum install elfutils
yum install elfutils-devel
编译安装 zabbix :
./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
make;make install
将数据文件导入数据库:
mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < schema.sql
mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < images.sql
mysql -uroot -p'autohome' -S /data/3306/mysql.sock -A zabbix < data.sql
在 /etc/service 文件中添加如下参数
zabbix-agent 10050/tcp # zabbix agent
zabbix-agent 10050/udp # zabbix agent
zabbix-trapper 10051/tcp # zabbix trapper
zabbix-trapper 10051/udp # zabbix trapper
[root@zabbix etc]# pwd
/usr/local/zabbix/etc
[root@zabbix etc]# vi zabbix_server.confDBName=zabbix
DBUser=zabbix
DBPassword=zabbix
FpingLocation=/usr/local/sbin/fping
修改 Agentd 配置文件 , 更改 HOST NAME 为本机的 hostname 就好了
[root@zabbix etc]# pwd
/usr/local/zabbix/etc
vi zabbix_agent.conf
启动 zabbix 服务
# /usr/local/zabbix/sbin/zabbix_server
# /usr/local/zabbix/sbin/zabbix_agentd
[root@zabbix etc]# /usr/local/zabbix/sbin/zabbix_server
[root@zabbix etc]# /usr/local/zabbix/sbin/zabbix_agentd
[root@zabbix etc]# ps -ef|grep zabbix
zabbix 15773 1 014:14 ? 00:00:00/usr/local/zabbix/sbin/zabbix_server
zabbix 15789 1 014:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
zabbix 15790 15789 0 14:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
zabbix 15791 15789 0 14:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
zabbix 15792 15789 0 14:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
zabbix 15793 15789 0 14:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
zabbix 15794 15789 0 14:16 ? 00:00:00/usr/local/zabbix/sbin/zabbix_agentd
root 15796 5577 0 14:16 pts/1 00:00:00 grep zabbix
报错
19299:20130922:134700.123 [Z3001] connection to database 'zabbix' failed:[2002] Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2)
解决
[root@zabbix mysql]# ln /usr/local/mysql/tmp/mysql.sock mysql.sock
更改web
cd /server/soft/zabbix-2.0.8/frontends/
cp -rf php/ /application/apache/htdocs/zabbix
cd /application/apache/htdocs/
chown -R zabbix:zabbix zabbix
重启apache 服务
错误总结:
zabbix 服务器端启动时,ps -ef|grep zabbix 显示,服务启动,但是端口没有打开。这个问题是zabbix 没有正确连接后台数据库造成的。
检查:
检查zabbix 日志:
LogFile=/tmp/zabbix_server.log
[root@zabbix data]# tail -f /tmp/zabbix_server.log
3675:20131008:134705.183 [Z3001]connection to database 'zabbix' failed: [2002] Can't connect to local MySQLserver through socket '/var/lib/mysql/mysql.sock' (111)
3675:20131008:134705.183 Databaseis down. Reconnecting in 10 seconds.
3675:20131008:134715.183 [Z3001]connection to database 'zabbix' failed: [2002] Can't connect to local MySQLserver through socket '/var/lib/mysql/mysql.sock' (111)
### 由于我的数据库是编译安装的,所以zabbix 默认查找的并不是我指定的sock 。
问题出在这里,由于连接不到数据库造成的。
解决方法:
方法1 ,更改配置文件;
vi /usr/local/zabbix/etc/zabbix_server.conf
### Option: DBSocket
# Path to MySQL socket.
#
# Mandatory: no
# Default:
DBSocket=/usr/local/mysql/tmp/mysql.sock
## 添加我们编译指定的sock 然后重启zabbix 服务。
方法2 ,做指定数据库sock 的软连接
ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock
既然它回去找这个目录下的sock ,那么就给它创建一个。
创建软连接后,服务自动就启动了。
至此 zabbix--server 安装成功 .
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com