本实验在CentOS release 5.7上完成的,所有的软件均是目前(2013.04.15)最新的! 所需要的软件包在这里:http://down./data/764169 本文来自http://better.blog./ 1、安装Nginx源码包存放目录 [iyunv@radius ~]# cd /usr/local/src/ 上传源码包 [iyunv@radius src]# rz 安装编译工具及依赖库 [iyunv@radius src]# yum install gcc gcc-c++ automake autoconf libtool make 安装PCRE库 [iyunv@radius src]# tar -zxvf pcre-8.32.tar.gz [iyunv@radius src]# cd pcre-8.32 [iyunv@radius pcre-8.32]# ./configure && make && make install 安装zlib库 [iyunv@radius src]# tar -zxvf zlib-1.2.7.tar.gz [iyunv@radius src]# cd zlib-1.2.7 [iyunv@radius zlib-1.2.7]# ./configure && make && make install 解压缩openssl源码包,不用安装仅仅用于安装nginx时指定关联文件 [iyunv@radius src]# tar -zxvf openssl-1.0.1c.tar.gz 安装nginx [iyunv@radius src]# tar -zxvf nginx-1.2.8.tar.gz [iyunv@radius src]# cd nginx-1.2.8 [iyunv@radius nginx-1.2.8]# ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.32 --with-zlib=/usr/local/src/zlib-1.2.7 --with-openssl=/usr/local/src/openssl-1.0.1c [iyunv@radius nginx-1.2.8]# make && make install 加入开机启动脚本 [iyunv@radius nginx-1.2.8]# vim /etc/init.d/nginx #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: 345 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/nginx.conf # pidfile: /usr/local/nginx/nginx.pid # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network if [ -f /etc/sysconfig/nginx ];then . /etc/sysconfig/nginx fi # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx #-c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval killall -9 nginx } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t #-c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; test) configtest ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|test}" exit 2 esac |
修改执行权限 [iyunv@radius nginx-1.2.8]# chmod 755 /etc/init.d/nginx 启动服务 [iyunv@radius nginx-1.2.8]# service nginx start 打开网页查看是否成功 http://192.168.137.20/
到此nginx配置完成 参考链接:http://www.nginx.cn/install 2、安装PHP集成在nginx源码包存放目录 [iyunv@radius ~]# cd /usr/local/src/ 上传源码包 [iyunv@radius src]# rz 由于光盘里面有几个依赖库没有所以还要用到互联网上的epel源 [iyunv@radius src]# wget http://dl.fedoraproject.org/pub/ ... ease-5-4.noarch.rpm [iyunv@radius src]# rpm -ivh epel-release-5-4.noarch.rpm 安装编译工具及依赖库 [iyunv@radius src]# yum install gcc automake autoconf libtool make gcc-c++ glibc libxml2 libxml2-devel curlpp curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel mhash-devel libxslt-devel bzip2 bzip2-devel [iyunv@radius src]# tar -zxvf php-5.4.14.tar.gz [iyunv@radius src]# cd php-5.4.14 [iyunv@radius php-5.4.14]# ./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-gd [iyunv@radius php-5.4.14]# make && make install [iyunv@radius php-5.4.14]# cp php.ini-production /usr/local/php/lib/php.ini [iyunv@radius php-5.4.14]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf [iyunv@radius php-5.4.14]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [iyunv@radius php-5.4.14]# vim /etc/init.d/php-fpm 增加如下 # chkconfig: 345 84 16 [iyunv@radius php-5.4.14]# chmod 755 /etc/rc.d/init.d/php-fpm 修改nginx配置文件使其支持fastcgi [iyunv@radius php-5.4.14]# vim /usr/local/nginx/nginx.conf location / { root html; index index.php index.html index.htm; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } |
设置时区 [iyunv@radius php-5.4.14]# vim /usr/local/php/lib/php.ini 找到date.timezone去掉注释并修改如下 date.timezone = "Asia/Chongqing" 新建一个测试页面 [iyunv@radius php-5.4.14]# vim /usr/local/nginx/html/index.php <?php phpinfo(); ?> 启动服务 [iyunv@radius php-5.4.14]# service php-fpm start [iyunv@radius php-5.4.14]# service nginx restart 访问测试 http://192.168.137.20/
这里面的内容在
指定 http://php-fpm.org/wiki/Features 参考链接: http://www.nginx.cn/231.html 3、安装MYSQL源码包存放目录 [iyunv@radius ~]# cd /usr/local/src/ 上传源码包 [iyunv@radius src]# rz 安装编译工具及依赖库 [iyunv@radius src]# yum install ncurses libaio gcc gcc-c++ perl ncurses-devel bison 安装cmake编译工具 [iyunv@radius src]# tar -zxvf cmake-2.8.10.2.tar.gz [iyunv@radius src]# cd cmake-2.8.10.2 [iyunv@radius src]# ./configure && make && make install 安装mysql [iyunv@radius cmake-2.8.10.2]# groupadd mysql [iyunv@radius cmake-2.8.10.2]# useradd -g mysql -s /sbin/nologin mysql [iyunv@radius cmake-2.8.10.2]# mkdir -p /data/mysql [iyunv@radius cmake-2.8.10.2]# chown -R mysql:mysql /data/mysql [iyunv@radius src]# tar -zxvf mysql-5.6.11.tar.gz [iyunv@radius src]# cd mysql-5.6.11 [iyunv@radius mysql-5.6.11]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc [iyunv@radius mysql-5.6.11]# make && make install [iyunv@radius mysql-5.6.11]# cp ./support-files/my-default.cnf /etc/my.cnf [iyunv@radius mysql-5.6.11]# vim /etc/my.cnf 修改下面内容 basedir = /usr/local/mysql datadir = /data/mysql [iyunv@radius mysql-5.6.11]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld [iyunv@radius mysql-5.6.11]# chmod 755 /etc/rc.d/init.d/mysqld [iyunv@radius mysql-5.6.11]# vim /etc/rc.d/init.d/mysqld 修改下面内容 basedir=/usr/local/mysql datadir=/data/mysql [iyunv@radius mysql-5.6.11]# chkconfig mysqld on [iyunv@radius mysql-5.6.11]# chown mysql:mysql . -R [iyunv@radius mysql-5.6.11]# chmod 755 ./scripts/mysql_install_db [iyunv@radius mysql-5.6.11]# ./scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql [iyunv@radius mysql-5.6.11]# service mysqld start [iyunv@radius mysql-5.6.11]# /usr/local/mysql/bin/mysql -uroot –p mysql> show databases; 4、安装rrdtool源码包存放目录 [iyunv@radius ~]# cd /usr/local/src/ 上传源码包 [iyunv@radius src]# rz 安装依赖库 [iyunv@radius ~]# yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel 编译安装rrdtool [iyunv@radius src]# tar -zxvf rrdtool-1.4.7.tar.gz [iyunv@radius src]# cd rrdtool-1.4.7 [iyunv@radius rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool && make && make install 5、安装snmp[iyunv@radius ~]# yum install net-snmp-utils php-snmp net-snmp-libs [iyunv@radius ~]# vim /etc/snmp/snmpd.conf [iyunv@radius ~]# chkconfig snmpd on 注释掉下面2行 #view systemview included .1.3.6.1.2.1.1 #view systemview included .1.3.6.1.2.1.25.1.1 增加如下一行 view systemview included .1 完整配置文件如下 com2sec notConfigUser default public group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1 access notConfigGroup "" any noauth exact systemview none none syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat |
6、安装cacti源码包存放目录 [iyunv@radius ~]# cd /usr/local/src/ 上传源码包 [iyunv@radius src]# rz 开始安装 [iyunv@radius src]# useradd -g users -s /sbin/nologin cactiuser [iyunv@radius src]# tar -zxvf cacti-0.8.8a.tar.gz [iyunv@radius src]# cp cacti-0.8.8a /usr/local/nginx/html/cacti –rf 创建cacti数据库 [iyunv@radius src]# cd /usr/local/mysql/bin/ [iyunv@radius bin]# ./mysqladmin --user=root create cacti [iyunv@radius bin]# ./mysql cacti < /usr/local/nginx/html/cacti/cacti.sql [iyunv@radius bin]# ./mysql --user=root mysql mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY '123456'; mysql> flush privileges; mysql> \q 编辑配置文件 [iyunv@radius bin]# vim /usr/local/nginx/html/cacti/include/config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "123456"; $database_port = "3306"; $database_ssl = false; [iyunv@radius bin]# cd /usr/local/nginx/html/cacti/ [iyunv@radius cacti]# chown -R cactiuser rra/ log/ [iyunv@radius cacti]# cd scripts/ [iyunv@radius scripts]# chown cactiuser:users * [iyunv@radius scripts]# crontab -u cactiuser –e */1 * * * * /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php > /dev/null 2>&1 打开浏览器进行初始化安装(第一次登录默认密码帐号admin密码admin) http://192.168.137.20/cacti/
以下内容可忽略,将会在下一次笔记时详细解释 排错 [iyunv@radius rra]# /usr/local/rrdtool/bin/rrdtool fetch localhost_load_1min_5.rrd AVERAGE [iyunv@radius ~]# snmpwalk -v2c -c public 192.168.137.20 重置管理员密码 http://wiki.yepn.net/cacti shell> mysql -u root -p cacti mysql> update user_auth set password=md5('admin') where username='admin'; Cacti清除日志 cat /dev/null > cacti.log 修改轮询时间及绘图时间 安装cacti-spine支持快速轮询 http://skyou.blog./2915693/544914 [iyunv@radius src]# yum install net-snmp-devel [iyunv@radius src]# tar -zxvf cacti-spine-0.8.8a.tar.gz [iyunv@radius src]# cd cacti-spine-0.8.8a [iyunv@radius cacti-spine-0.8.8a]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 [iyunv@radius cacti-spine-0.8.8a]# ./configure --prefix=/usr/local/cacti-spine --with-snmp=/usr [iyunv@radius cacti-spine-0.8.8a]# make && make install [iyunv@radius cacti-spine-0.8.8a]# cp spine.conf.dist /etc/spine.conf [iyunv@radius cacti-spine-0.8.8a]# vim /etc/spine.conf [iyunv@radius cacti-spine-0.8.8a]# /usr/local/cacti-spine/bin/spine SPINE: Using spine config file [/etc/spine.conf] SPINE: Version 0.8.8a starting SPINE: Time: 0.1390 s, Threads: 4, Hosts: 3 进入http://192.168.137.20/ 设置cacti,选择spine轮询机制运行 Paths
Poller
Cron [iyunv@radius cacti-spine-0.8.8a]# crontab -u cactiuser -e */1 * * * * /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php > /dev/null 2>&1 选中Data Templates → Unix - Logged in Users →
重建轮询缓存 [iyunv@radius ~]# /usr/local/php/bin/php -q /usr/local/nginx/html/cacti/cli/rebuild_poller_cache.php -d 参考链接 Cacti安装配置的详细步骤 http://www.mysqlops.com/2011/06/08/cacti-install-setting.html RedHat / CentOS Install and Configure Cacti Network Graphing Tool http://www.cyberciti.biz/faq/fedora-rhel-install-cacti-monitoring-rrd-software/ Install and Configure Cacti http://www.cacti.net/downloads/docs/html/unix_configure_cacti.html Install RRDTool on Red Hat Enterprise Linux http://www.cyberciti.biz/faq/howto-install-rrdtool-on-rhel-linux/ Cacti监控服务器配置教程(基于CentOS+Nginx+MySQL+PHP环境搭建) http://www.osyunwei.com/archives/3209.html Chapter 1. Installing MySQL from Source http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.6/en/source-installation.html Download, Configure, Compile, And Install MySQL 5.6 http://www.geeksww.com/tutorials/database_management_systems/mysql/installation/download_configure_compile_and_install_mysql_56.php Error Header http://php-fpm.org/wiki/Features 实战Nginx与PHP(FastCGI)的安装、配置与优化 http://ixdba.blog./2895551/806622 Nginx安装 http://www.nginx.cn/install nginx php-fpm安装配置 http://www.nginx.cn/231.html CentOS 6.3下MySQL 5.6源码安装 http://database./art/201304/388452.htm Chapter 2. Installing MySQL from a Standard Source Distribution http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.6/en/installing-source-distribution.html Chapter 4. MySQL Source-Configuration Options http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.6/en/source-configuration-options.html Installing RRDTool http://martybugs.net/linux/rrdtool/
|