zabbix編譯環境安裝

簡易拓撲:

084549892.jpg

相關係統版本等內容:詳見《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提供對內容的壓縮傳輸編碼支持,一般htmljscss等內容的站點,使用此參數功能會大大提高傳輸速凍,提升訪問者的訪問體驗。再生產環境中,這是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等。

2mysql數據庫產品線第一個GA版本推出時間,至少超過10個月,在考慮使用到生產環境:

3mysql數據庫產品線上的最新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 #安裝該函數庫可以避免以下錯誤。

spacer.gif


#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安裝要依賴apachemysql

1,1檢查apachemysql的安裝情況

檢查apachemysql是否安裝。

#/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.conf98行。

#此時的apache配合文件的路徑爲 /application/apache/conf

#增加如下內容:

ServerName 127.0.0.1:80

轉換到311AddType 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將報下面的錯誤:

spacer.gif

臨時解決:

#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

<?php

phpinfo();

?>

注意:

如果phpinfo的內容如下:

#vi phpinfo.php

<?

phpinfo();

?>

需要修改php.inishort_open_tag= Off ---->改成On

重啓apachenginx

總結:更改php短標籤,也就是讓php程序認識<? ?>裏面的語句,這樣的格式:<? php語句 ?> 而長標籤就應該是<?php php語句>如果你現在把php.inishort_open_tag = Off修改會後,並吧 <? phpinfo(); > 改成 <?php phpinfo(); ?>之後也是可以正常訪問的。

3.4開啓瀏覽器,輸入IP地址進行訪問。

測試完需要刪掉。


4,測試php連接mysql是否正常

編輯test_mysql.php加入如下內容

<?php

//$link_id=mysql_connect('主機名','用戶','密碼')

$link_id=mysql_connect('localhost','root','oldboy123')or mysql_error();

//$link_id=mysql_connect('localhost','test','');

if($link_id){

echo "mysql successful byoldboy!";

} else{

echo mysql_error();

}

//這是php單行註釋

/* 這是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 < p_w_picpaths.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安裝成功.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章