lnmp+jdk+rrdtool+redis+memcache安装配置

系统要求:本文中的操作系统为CentOS 6.5 64位,以下操作均以root执行.

首先,设置系统语言格式,用系统自带的yum命令安装、升级所需的程序库

#LANG=C

yuminstall gcc gcc-c++ libtool libtool-libs kernel kernel-devel libjpeglibjpeg-devel libpng libpng-devel libtiff libtiff-devel gettext gettext-devellibxml2 libxml2-devel zlib-devel net-snmp file glib2 glib2-devel bzip2 diff*openldap-devel bzip2-devel ncurses* curl e2fsprogs e2fsprogs-devel krb5krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal unzip freetypefreetype-devel png jpeg zlib gd php-gd* libiconv libevent mhash mcryptyum-fastestmirror ntp patch flex bison tar pcre pcre-devel pcre-static automakeautoconf glibc glibc-devel openldap nss_ldap openldap-clients openldap-serverslibart_lgpl-devel pixman pixman-devel pango-devel* cairo-devel* perl-*curl-devel make apr* keyutils keyutils-libs-devel kernel-headers compat* mpfrcpp libgomp libstdc++-devel ppl cloog-ppl libcom_err-devel libsepol-devellibselinux-devel libXpm* php-common

一、安装前系统设置

#########################################################

1.修改当前的打开文件数

echo -e "ulimit -SHn 51200" >> /etc/rc.local

echo -e "ulimit -SHn 51200" >> /etc/profile

echo -e "* soft nofile   51200" >> /etc/security/limits.conf

echo -e "* hard nofile   51200" >> /etc/security/limits.conf

使配置生效:source /etc/profile

#########################################################

2.卸载openjdk

rpm -qa | grep java

rpm -e 查询出来的有关java rpm包

或者使用如下命令卸载openjdk

yum -y remove 查询出来的有关java rpm包

#########################################################

3.vi /etc/sysconfig/iptables增加以下

-A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT 

-A INPUT -m state --state NEW -m tcp -p tcp--dport 8080 -j ACCEPT

-AINPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-AINPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT

特别提示:3306和161为以后监控设置添加的端口。很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的上面或者下面,

/etc/init.d/iptables restart 或者service iptables restart     #最后重启防火墙使配置生效

#########################################################

4.关闭SELINUX

sed -i 's/SELINUX=enforcing/#SELINUX=enforcing/' /etc/selinux/config

sed -i 's/SELINUXTYPE=targeted/#SELINUXTYPE=targeted/' /etc/selinux/config

echo -e "SELINUX=disabled" >> /etc/selinux/config

shutdown -r now 或者reboot   #重启系统

#########################################################

5.设置时区和时间信息

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

echo -e "UTC=false\nARC=false" >> /etc/sysconfig/clock

利用ntpdate同步标准时间

ntpdate us.pool.ntp.org

与硬件同步
# /sbin/hwclock --systohc

使配置生效,重启crond服务

/etc/init.d/crond restart

#########################################################

6.安装pcre(包括 perl 兼容的正规表达式库) 

#cd /usr/local/src

#tar zxvf pcre-8.35.tar.gz

#cd pcre-8.35

#./configure --prefix=/usr/local/pcre

#make

#make install

#########################################################

7.安装java环境jdk

#cd /usr/local/java

#chmod 755 jdk-6u45-linux-x64.bin

#./jdk-6u45-linux-x64.bin

#rm-rf jdk-6u45-linux-x64.bin

#########################################################

8.安装cmake(跨平台的自动化建构系统)

#cd /usr/local/src

#tar zxvf cmake-3.0.0.tar.gz

#cd cmake-3.0.0

#./configure --prefix=/usr/local/cmake

#make

#make install

#########################################################

9.设置jdk和cmake环境变量

vi /etc/profile

JAVA_HOME=/usr/local/java/jdk1.6.0_45

JRE_HOME=$JAVA_HOME/jre

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=/usr/local/cmake/bin:$PATH

export JAVA_HOME

export PATH

export CLASSPATH

:wq 保存,关闭

使配置生效source /etc/profile

测试java是否安装成功

#java -version

lnmp+jdk+rrdtool+redis+memcache安装配置_lnmp+jdk+rrdtool+red

#########################################################

10.装apr(可移植运行库

#cd /usr/local/src

#tar zxvf apr-1.5.1.tar.gz

#cd apr-1.5.1

#./configure --prefix=/usr/local/apr

#make

#make install

#########################################################

11.安装apr-util可移植运行库

#cd /usr/local/src/

#tar zxvf apr-util-1.5.3.tar.gz

#cd apr-util-1.5.3

#./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr

#make

#make install

#########################################################

12.安装php所需的支持库libmcrypt(加密算法扩展库,用以各种加密码)Libmcript是默认安装在/usr/local下的

#cd /usr/local/src/

#tar -zxvf libmcrypt-2.5.7.tar.gz

#cd libmcrypt-2.5.7

#./configure --prefix=/usr/local/libmcrypt

#make

#make install

#cd libltdl

#./configure -enable-ltdl-install

#make

#make install  

#########################################################

13.安装libxml2(包含了对 XPath 表达式使用的支持来检索匹配一个指定准则的结点集

#cd /usr/local/src/

#tar zxvf libxml2-2.9.0.tar.gz

#cd libxml2-2.9.0

#sed -i '17035s/$RM"$cfgfile"/$RM -f "$cfgfile"/g' configure

#./configure --prefix=/usr/local/libxml2

#make

#make install

#########################################################

14.安装rrdtool

#cd /usr/local/src/

#tar zxvf rrdtool-1.4.7.tar.gz

#cd rrdtool-1.4.7

#./configure --prefix=/usr/local/rrdtool

#make

#make install

#########################################################

15.安装mysql

#groupadd mysql #添加mysql组
#useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
#mkdir -p /data/mysql #创建MySQL数据库存放目录
#chown -R mysql:mysql /data/mysql #设置MySQL数据库目录权限
#mkdir -p /usr/local/mysql #创建MySQL安装目录

#cd /usr/local/src

#tar zxvf mysql-5.5.17.tar.gz

#cd mysql-5.5.17

#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc

#make

#make install

#cp -r /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf  #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

sed -i '25a datadir = /data/mysql' /etc/my.cnf#编辑配置文件,在 [mysqld] 部分增加数据库路径

#cd /usr/local/mysql/

#./scripts/mysql_install_db --user=mysql #生成mysql系统数据库

#cp -r /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

#sed -i "46s#basedir=#basedir=/usr/local/mysql#g" /etc/rc.d/init.d/mysqld #编辑MySQL程序安装路径
#sed -i "47s#datadir=#datadir=/data/mysql#g" /etc/rc.d/init.d/mysqld #编辑MySQl数据库存放目录

#chmod 755 /etc/init.d/mysqld #增加执行权限
#chkconfig mysqld on #加入开机启动

#service mysqld start #启动

#echo -e "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile #把mysql服务加入系统环境变量

下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
#ln -s /usr/local/mysql/include/mysql /usr/include/mysql
#shutdown -r now #需要重启系统
等待系统重新启动之后继续在终端命令行下面操作

#mysql_secure_installation #设置Mysql密码
根据提示按Y 回车输入2次密码
或者直接修改密码#/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码
#service mysqld restart #重启

#########################################################

16.安装nginx

#groupadd www #添加www组
#useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统

#cd /usr/local/src

#tar zxvf nginx-1.7.4.tar.gz

#cd nginx-1.7.4

#./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.35

#make

#make install

echo -e "

#user  nobody;

worker_processes  1;


#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;


#pid        logs/nginx.pid;



events {

    worker_connections  1024;

}



http {

    include       mime.types;

    default_type  application/octet-stream;


    #log_format  main  '\$remote_addr - \$remote_user [\$time_local] \"\$request\" '

    #                  '\$status \$body_bytes_sent \"\$http_referer\" '

    #                  '\"\$http_user_agent\" \"\$http_x_forwarded_for\"';


    #access_log  logs/access.log  main;


    sendfile        on;

    #tcp_nopush     on;


    #keepalive_timeout  0;

    keepalive_timeout  65;


    #gzip  on;


    server {

        listen       80;

        server_name  localhost;


        #charset koi8-r;


        #access_log  logs/host.access.log  main;


        location / {

            root   /usr/local/nginx/html;

            index  index.php index.html index.htm;

        }


        #error_page  404              /404.html;


        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }


        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}


        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        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;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }


        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}


        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        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;

        }


        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

    }



    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}



    # HTTPS server

    #

    #server {

    #    listen       443 ssl;

    #    server_name  localhost;


    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;


    #    ssl_session_cache    shared:SSL:1m;

    #    ssl_session_timeout  5m;


    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers  on;


    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}


}

" > /usr/local/nginx/conf/nginx.conf



#########################################################

17.安装php

#cd /usr/local/src

#tar zxvf php-5.4.30.tar.gz

#cd php-5.4.30/

#./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv  --with-zlib  --enable-xml  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex  --enable-fpm  --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-pcre-regex --with-libmbfl

#make

#make install

#cp -r /usr/local/src/php-5.4.30/php.ini-production /usr/local/php/etc/php.ini

sed -i 's#; extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"#g' /usr/local/php/etc/php.ini

sed -i "s#;date.timezone =#date.timezone = PRC#g" /usr/local/php/etc/php.ini

sed -i "s#;session.save_path = \"/tmp\"#session.save_path = \"/tmp\"#g" /usr/local/php/etc/php.ini

sed -i "s#expose_php = On#expose_php = Off#g" /usr/local/php/etc/php.ini

echo -e "extension = memcache.so\nextension = redis.so\n[opcache]\nzend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/opcache.so\nopcache.memory_consumption=128\nopcache.interned_strings_buffer=8\nopcache.max_accelerated_files=4000\nopcache.revalidate_freq=60\nopcache.fast_shutdown=1\nopcache.enable_cli=1" >> /usr/local/php/etc/php.ini

cp -r /usr/local/php/etc/php.ini /etc/php.ini

cp -r /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

sed -i "s#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g" /usr/local/php/etc/php-fpm.conf

cp -r /usr/local/src/php-5.4.30/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

chmod +x /etc/rc.d/init.d/php-fpm

chkconfig php-fpm on

#########################################################

18.安装libevent

#cd /usr/local/src

#tar zxvf libevent-1.4.13-stable.tar.gz

#cd libevent-1.4.13-stable

#./configure --prefix=/usr/

#make

#make install

#########################################################

19.安装memcached

#cd /usr/local/src

#tar zxvf memcached-1.4.20.tar.gz

#cd memcached-1.4.20

#./configure --with-libevent=/usr/

#make

#make install

#########################################################

20.安装php扩展库memcache

#cd /usr/local/src

#tar zxvf memcache-3.0.8.tgz

#cd memcache-3.0.8

#/usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config

#make

#make install

查看men*

# ls -al /usr/local/bin/mem*

开启memcached服务

# memcached -d -u root

查看memcached服务

#netstat -ant  默认11211端口

#########################################################

21.安装php扩展库zendopcache

#cd /usr/local/src

#tar zxvf zendopcache-7.0.4.tgz

#cd zendopcache-7.0.4

#/usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config

#make

#make install

lnmp+jdk+rrdtool+redis+memcache安装配置_lnmp+jdk+rrdtool+red_02

#########################################################

22.安装redis

#cd /usr/local/src

#tar zxvf redis-3.0.0.tar.gz

#cd redis-3.0.0

#make

#make install

#/usr/local/bin/redis-server &

lnmp+jdk+rrdtool+redis+memcache安装配置_lnmp+jdk+rrdtool+red_03

#########################################################

23.安装php扩展库phpredis

#cd /usr/local/src

#tar zxvf phpredis-2.2.4.tar.gz

#cd phpredis-2.2.4

#/usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config

#make

#make install

#########################################################

1.测试页

vi /usr/local/nginx/html/info.php

<?php

date_default_timezone_set("PRC");

phpinfo();

?>

2.开启nginx php MySQL memcached redis服务

memcached -d -u root

/etc/rc.d/init.d/php-fpm  start

/usr/local/nginx/sbin/nginx

service mysqld start

/usr/local/bin/redis-server &

3.访问地址:http://ip地址/info.php

4.加入开机启动项

echo -e "

memcached -d -u root

/etc/rc.d/init.d/php-fpm  start

/usr/local/nginx/sbin/nginx

service mysqld start

/usr/local/bin/redis-server &

" >> /etc/rc.local

全文完....................