您的位置:首页 > 运维架构 > Linux

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

2011-06-28 11:38 495 查看
拷贝所需软件

将以下软件 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: