EC2-AMI(CentOS)服务器安装全过程

来源:互联网 发布:2016诺贝尔奖预测 知乎 编辑:程序博客网 时间:2024/05/02 01:57
  • 拷贝所需软件

    将以下软件 mysql-5.1.53.tar.gz, php-5.3.3.tar.gz, eaccelerator-0.9.6-rc2.tar.bz2, memcache-2.2.6.tgz, nginx-0.8.53.tar.gz, memcached-1.4.5.tar.gz 拷贝到~/tmp/目录下

  • 安装php

    cd ~/tmp/

    tar -zxvf php-5.3.3.tar.gz
    cd php-5.3.3/
    sudo yum install gcc-c++ make automake perl ncurses-devel.i686 libevent-devel.i686 libxml2-devel.i686 curl.i686 libcurl-devel.i686 libpng-devel.i686 libjpeg-devel.i686 freetype-devel.i686 libmcrypt-devel.i686 openssl-devel.i686
    (64位:sudo yum install gcc-c++ make automake perl ncurses-devel.x86_64 libevent-devel.x86_64 libxml2-devel.x86_64 curl.x86_64 libcurl-devel.x86_64 libpng-devel.x86_64 libjpeg-devel.x86_64 freetype-devel.x86_64 libmcrypt-devel.x86_64 openssl-devel.x86_64)
    ./configure  --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir= --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-exif --enable-soap --without-pear --enable-fpm

    make

    sudo make install

    sudo cp ~/tmp/php-5.3.3/php.ini-production /usr/local/webserver/php/etc/php.ini

    sudo mv /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf
    sudo groupadd www
    sudo useradd -g www www
    sudo mkdir -p /www/webroot
    sudo chmod +w /www/webroot
    sudo chown -R www:www /www/webroot
    #安装php扩展eaccelerator
    cd ~/tmp/
    tar -jxvf eaccelerator-0.9.6-rc2.tar.bz2
    cd eaccelerator-0.9.6-rc2/
    /usr/local/webserver/php/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    sudo make install
    #sudo vim /etc/sysctl.conf
    #安装php扩展memcache
    cd ~/tmp/
    tar -zxvf memcache-2.2.6.tgz
    cd memcache-2.2.6/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    sudo make install
  • 安装nginx

    cd ~/tmp/

    tar -zxvf nginx-0.8.53.tar.gz
    cd nginx-0.8.53/

    sudo yum install pcre-devel.i686

    (64位:sudo yum install pcre-devel.x86_64)

    ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

    make
    sudo make install
    sudo mkdir -p /www/logs
    sudo chmod +w /www/logs
    sudo chown -R www:www /www/logs
  • 安装mysql
    sudo groupadd mysql   
    sudo useradd -g mysql mysql
    cd ~/tmp/
    tar -zxvf mysql-5.1.53.tar.gz
    cd mysql-5.1.53/
    ./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg
    make
    sudo make install
    sudo mkdir /usr/local/webserver/mysql/data
    sudo chown -R mysql:mysql /usr/local/webserver/mysql/data
    sudo /usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=mysql

   /usr/local/webserver/mysql/bin/mysqld_safe&

    /usr/local/webserver/mysql/bin/mysqladmin -uroot password 'XXX'
    sudo mkdir /usr/local/webserver/mysql/conf
    sudo cp  ~/tmp/mysql-5.1.53/support-files/my-medium.cnf /usr/local/webserver/mysql/conf/my.cnf
   /usr/local/webserver/mysql/bin/mysqld_safe--defaults-file=/usr/local/webserver/mysql/conf/my.cnf 2>&1 >/dev/null &
  • 安装memcached
   ./configure  --prefix=/usr/local/webserver/memcached --enable-64bit --with-libevent=/usr/lib64/
    #/usr/local/webserver/memcached/bin/memcached -p 11211 -d m 1024

  • 自动安装script
#!/bin/bash
#copy all softwares
function copy_software(){
    ip="$1"
    scp -i /etc/rsyncd/ry.pem ~/tmp/mysql-*.tar.gz\
 ~/tmp/php-*.tar.gz\
 ~/tmp/eaccelerator-*.tar.bz2\
 ~/tmp/memcache-*.tgz\
 ~/tmp/nginx-*.tar.gz\
 ~/tmp/memcached-*.tar.gz\
 ec2-user@${ip}:~/tmp/
}


function install_libs64(){
    sudo yum install gcc-c++ make automake perl ncurses-devel.x86_64 libevent-devel.x86_64 \
libxml2-devel.x86_64 curl.x86_64 libcurl-devel.x86_64 libpng-devel.x86_64 libjpeg-devel.x86_64 \
freetype-devel.x86_64 libmcrypt-devel.x86_64 openssl-devel.x86_64 pcre-devel.x86_64
}
function install_libs32(){
    sudo yum install gcc-c++ make automake perl ncurses-devel.i686 libevent-devel.i686 \
libxml2-devel.i686 curl.i686 libcurl-devel.i686 libpng-devel.i686 libjpeg-devel.i686 freetype-devel.i686 \
libmcrypt-devel.i686 openssl-devel.i686 pcre-devel.i686
}


function install_php(){
    #php
    cd ~/tmp/
    tar -zxvf php-5.3.3.tar.gz
    cd php-5.3.3/
    ./configure  --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc \
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir \
--with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir= --enable-xml --disable-rpath --enable-safe-mode \
--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers \
--enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash \
--enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-exif --enable-soap --without-pear --enable-fpm
    make
    sudo make install
    sudo cp ~/tmp/php-5.3.3/php.ini-production /usr/local/webserver/php/etc/php.ini
    sudo mv /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf
    sudo groupadd www
    sudo useradd -g www www
    sudo mkdir -p /www/webroot
    sudo chmod +w /www/webroot
    sudo chown -R www:www /www/webroot
    #eaccelerator
    cd ~/tmp/
    tar -jxvf eaccelerator-0.9.6-rc2.tar.bz2
    cd eaccelerator-0.9.6-rc2/
    /usr/local/webserver/php/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    sudo make install
    #memcache
    cd ~/tmp/
    tar -zxvf memcache-2.2.6.tgz
    cd memcache-2.2.6/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    sudo make install
}


function install_nginx(){
    cd ~/tmp/
    tar -zxvf nginx-0.8.53.tar.gz
    cd nginx-0.8.53/
    ./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
    make
    sudo make install
    sudo mkdir -p /www/logs
    sudo chmod +w /www/logs
    sudo chown -R www:www /www/logs
}


function install_mysql(){
    sudo groupadd mysql   
    sudo useradd -g mysql mysql
    cd ~/tmp/
    tar -zxvf mysql-5.1.53.tar.gz
    cd mysql-5.1.53/
    ./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex \
--enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server \
--enable-local-infile --with-plugins=partition,innobase,myisammrg
    make
    sudo make install
    sudo mkdir /usr/local/webserver/mysql/data
    sudo chown -R mysql:mysql /usr/local/webserver/mysql/data
    sudo /usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql \
--datadir=/usr/local/webserver/mysql/data --user=mysql
    sudo /usr/local/webserver/mysql/bin/mysqld_safe &
    /usr/local/webserver/mysql/bin/mysqladmin -uroot password 'rockyou'
    sudo mkdir /usr/local/webserver/mysql/conf
    sudo cp  ~/tmp/mysql-5.1.53/support-files/my-medium.cnf /usr/local/webserver/mysql/conf/my.cnf
    sudo /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/usr/local/webserver/mysql/conf/my.cnf 2>&1 >/dev/null &
    sudo cp ~/tmp/mysql-5.1.53/support-files/mysql.server /etc/init.d/mysql
    sudo chmod +x /etc/init.d/mysql
}


function install_memcached64(){
    cd ~/tmp/
    tar -zxvf memcached-1.4.5.tar.gz 
    cd memcached-1.4.5
    ./configure  --prefix=/usr/local/webserver/memcached --enable-64bit --with-libevent=/usr/lib64/
    make
    sudo make install
}


if [ $# -eq 0 ];then
    echo "error:copy/lib/web/data"
    exit 1
elif [ $1 = "copy" ];then
    copy_software $2
    exit 0
elif [ $1 = "lib" ];then
    if [ $2 = "64" ];then
        install_libs64
    elif [ $2 = "32" ];then
        install_libs32
    else
        echo "error:64/32"
    fi
    exit 0
elif [ $1 = "web" ];then
    install_php
    install_nginx
    exit 0
elif [ $1 = "data" ];then
    install_mysql
    install_memcached64
    exit 0
else
    echo "error:copy/lib/web/data"
fi

原创粉丝点击