網站運維架構設計及安裝過程(linux+nginx+php-fpm+pgsql+memcached+varnish+mysql)

如下安裝過程爲我在**網工做期間,**網整個外網所需服務的安裝過程以及注意事項php

一  安裝所需軟件包
 LANG=C
 yum -y install gcc gcc-c++ gd* autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers readline readline-devel libtool libtool-ltdl  libtool-ltdl-devel *ltdl*
2、安裝PHP 5.2.13(FastCGI模式)
 一、編譯安裝PHP 5.2.13所需的支持庫:
 tar zxvf libiconv-1.13.tar.gz
 cd libiconv-1.13/
 ./configure --prefix=/usr/local/web_server/
 (make ZEND_EXTRA_LIBS='-liconv')
 make && make installjava

 tar zxvf libmcrypt-2.5.8.tar.gz
 cd libmcrypt-2.5.8/
 ./configure --prefix=/usr/local/web_server/
 make && make install
 /sbin/ldconfig
 cd libltdl/
 ./configure --prefix=/usr/local/web_server/ --enable-ltdl-install
 make && make installmysql

 tar zxvf mhash-0.9.9.9.tar.gz
 cd mhash-0.9.9.9/
 ./configure --prefix=/usr/local/web_server/
 make && make install
 ./configure
 make && make installnginx

 tar zxvf libevent-1.4.10-stable.tar.gz        ( http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz
 cd libevent-1.4.10-stable  
 ./configure --prefix=/usr/local/web_server/libevent
 make && make install c++

32位機器:
 ln -s /usr/local/web_server/lib/libmcrypt.la /usr/lib/libmcrypt.la
 ln -s /usr/local/web_server/lib/libmcrypt.so /usr/lib/libmcrypt.so
 ln -s /usr/local/web_server/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
 ln -s /usr/local/web_server/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
 ln -s /usr/local/web_server/lib/libmhash.a /usr/lib/libmhash.a
 ln -s /usr/local/web_server/lib/libmhash.la /usr/lib/libmhash.la
 ln -s /usr/local/web_server/lib/libmhash.so /usr/lib/libmhash.so
 ln -s /usr/local/web_server/lib/libmhash.so.2 /usr/lib/libmhash.so.2
 ln -s /usr/local/web_server/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
64位機器:
 ln -s /usr/local/web_server/lib/libmcrypt.la /usr/lib64/libmcrypt.la
 ln -s /usr/local/web_server/lib/libmcrypt.so /usr/lib64/libmcrypt.so
 ln -s /usr/local/web_server/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
 ln -s /usr/local/web_server/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
 ln -s /usr/local/web_server/lib/libmhash.a /usr/lib64/libmhash.a
 ln -s /usr/local/web_server/lib/libmhash.la /usr/lib64/libmhash.la
 ln -s /usr/local/web_server/lib/libmhash.so /usr/lib64/libmhash.so
 ln -s /usr/local/web_server/lib/libmhash.so.2 /usr/lib64/libmhash.so.2
 ln -s /usr/local/web_server/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
 tar zxvf mcrypt-2.6.8.tar.gz
 cd mcrypt-2.6.8/
 /sbin/ldconfig
 ./configure --prefix=/usr/local/web_server/ --with-libmcrypt-prefix=/usr/local/web_server/ --with-libiconv-prefix=/usr/local/web_server/
 make && make installweb

二、編譯安裝MySQL 5.1.44
 /usr/sbin/groupadd mysql
 /usr/sbin/useradd -g mysql mysql
 tar zxvf mysql-5.1.44.tar.gz
 cd mysql-5.1.44/
 ./configure --prefix=/usr/local/web_server/mysql/ --enable-shared --enable-assembler --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase --with-charset=utf8 --with-extra-charsets=gbk,gb2312,utf8 --with-mysqld-user=mysql
 make && make install
 mkdir /usr/local/web_server/mysql/var
 mkdir /usr/local/web_server/mysql/tmp
 mkdir /usr/local/web_server/mysql/logs
 mkdir /usr/local/web_server/mysql/etc
 chmod +w /usr/local/web_server/mysql/
 chown -R mysql:mysql /usr/local/web_server/mysql/
 cp support-files/mysql.server /etc/init.d/mysqld
 chmod 700 /etc/init.d/mysqld
 cp support-files/my-huge.cnf /etc/my.cnf
 /usr/local/web_server/mysql/bin/mysql_install_db --basedir=/usr/local/web_server/ --datadir=/usr/local/web_server/mysql/var --user=mysql
 登錄到mysql,執行一下語句:
 grant all PRIVILEGES on *.* to mysql@'localhost' identified by '123456';
 grant all PRIVILEGES on *.* to mysql@'%' identified by '123456';
 執行了上面的語句後,再執行下面的語句,方可當即生效。
 flush privileges;sql

3. 安裝postgresql
 /usr/sbin/groupadd postgres
 /usr/sbin/useradd -g postgres postgres
 tar jxvf postgresql-8.3.12.tar.bz2
 cd postgresql-8.3.12
 ./configure --prefix=/usr/local/web_server/pgsql
 make && make install
 chmod +w /usr/local/web_server/pgsql/
 chown -R postgres:postgres /usr/local/web_server/pgsql/app

四、編譯安裝PHP(FastCGI模式)
 tar zxvf php-5.2.13.tar.gz
 gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1
 cd php-5.2.13
 ./configure --prefix=/usr/local/web_server/php5 --with-config-file-path=/usr/local/web_server/php5/etc --with-pgsql=/usr/local/web_server/pgsql --with-pdo-pgsql=/usr/local/web_server/pgsql --with-iconv-dir=/usr/local/web_server/ --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --with-libevent=/usr/local/web_server/libevent/ --enable-force-cgi-redirect --enable-mbstring=all --with-mcrypt=/usr/local/web_server/ --with-gd --enable-gd-native-ttf --with-openssl --with-pcre-dir=/usr/local/web_server/pcre/ --with-pcre-regex=/usr/local/web_server/pcre --with-mhash --enable-pcntl --enable-sockets --without-sqlite --without-pdo-sqlite --enable-memcache --enable-zip --with-mysql=/usr/local/web_server/mysql --with-mysqli=/usr/local/web_server/mysql/bin/mysql_config --with-pdo-mysql=shared,/usr/local/web_server/mysql --enable-sysvshm
  ZEND_EXTRA_LIBS='-liconv' make
  (若是出現錯誤,按照如下方式作
  編輯 Makefile 大約 70 行左右的地方:
  EXTRA_LIBS = ….. -lcrypt
  在最後加上 -liconv,例如:
  EXTRA_LIBS = ….. -lcrypt -liconv
  而後從新再次 make 便可,不用make clean 直接make)
 make install
 cp php.ini-dist /usr/local/web_server/php5/etc/php.inicurl

五、編譯安裝PHP5擴展模塊    (參考:http://willko.javaeye.com/blog/332993)
 安裝memcached (memcached: http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz
 tar zxvf memcached-1.4.5.tar.gz  
 cd memcached-1.4.5
 ./configure --prefix=/usr/local/web_server/memcached --enable-threads --enable-64bit --with-libevent=/usr/local/web_server/libevent/
 make && make installsocket

php安裝對memcached的支持
   php有兩個版本的memcached客戶端
 1.memcached
 這個是新版的客戶端基於libmemcached,因此必需要安裝libmemcached
 先安裝libmemcached
 下載地址:http://download.tangent.org/libmemcached-0.44.tar.gz
 tar zxvf libmemcached-0.44.tar.gz
 cd libmemcached-0.44
 ./configure --prefix=/usr/local/web_server/libmemcached/ --with-memcached --with-libevent-prefix=/usr/local/web_server/libevent/
 make && make install

 安裝php memcached客戶端
 下載地址:http://pecl.php.net/get/memcached
 tar zxvf memcached-0.1.4.tgz
 cd memcached-0.1.4
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server --with-php-config=/usr/local/web_server/php5/bin/php-config --with-libmemcached-dir=/usr/local/web_server/libmemcached/ --enable-memcached
 make && make instal
 2.memcache
 下載地址:http://pecl.php.net/get/memcache
 tar zxvf memcache-2.2.5.tgz
 cd memcache-2.2.5
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server --with-php-config=/usr/local/web_server/php5/bin/php-config --enable-memcache
 make && make instal

 tar jxvf eaccelerator-0.9.6.1.tar.bz2
 cd eaccelerator-0.9.6.1/
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server/ --enable-eaccelerator=shared --with-php-config=/usr/local/web_server/php5/bin/php-config
 make
 make install
 
 按shift+g鍵跳到配置文件(php.ini)的最末尾,加上如下配置信息:
 引用
 [eaccelerator]
 zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
 eaccelerator.shm_size="64"
 eaccelerator.cache_dir="/usr/local/eaccelerator_cache"
 eaccelerator.enable="1"
 eaccelerator.optimizer="1"
 eaccelerator.check_mtime="1"
 eaccelerator.debug="0"
 eaccelerator.filter=""
 eaccelerator.shm_max="0"
 eaccelerator.shm_ttl="3600"
 eaccelerator.shm_prune_period="3600"
 eaccelerator.shm_only="0"
 eaccelerator.compress="1"
 eaccelerator.compress_level="9"

 tar zxvf PDO_MYSQL-1.0.2.tgz
 cd PDO_MYSQL-1.0.2/
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server/ --with-php-config=/usr/local/web_server/php5/bin/php-config --with-pdo-mysql=/usr/local/web_server/mysql
 make
 make install

 tar zxvf PDO_MYSQL-1.0.2.tgz
 cd PDO_MYSQL-1.0.2
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server/ --with-php-config=/usr/local/web_server/php5/bin/php-config --with-pdo-pgsql=/usr/local/web_server/pgsql/
 make
 make install

 tar zxvf ImageMagick.tar.gz
 cd ImageMagick-6.5.1-2/
 ./configure --prefix=/usr/local/web_server/
 make
 make install

 tar zxvf imagick-2.3.0.tgz
 cd imagick-2.3.0/
 /usr/local/web_server/php5/bin/phpize
 ./configure --prefix=/usr/local/web_server/ --with-php-config=/usr/local/web_server/php5/bin/php-config --with-imagick=/usr/local/web_server/
 make
 make install
 
 wget http://www.ftphp.com/scws/down/scws-dict-chs-utf8.tar.bz2
 wget http://www.ftphp.com/scws/down/scws-dict-chs-gbk.tar.bz2
 tar jxvf scws-1.1.3.tar.bz2
 cd scws-1.1.3
 ./configure --prefix=/usr/local/web_server/scws
 make
 make install
 cd /usr/local/src
 tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/web_server/scws/etc/
 tar jxvf scws-dict-chs-gbk.tar.bz2 -C /usr/local/web_server/scws/etc/
 cd scws-1.1.3/phpext/
 /usr/local/web_server/php5/bin/phpize
 ./configure --with-scws=/usr/local/web_server/scws/ --with-php-config=/usr/local/web_server/php5/bin/php-config
 make
 make install

六、安裝Nginx
 tar zxvf pcre-8.10.tar.gz
 cd pcre-8.10
 ./configure --prefix=/usr/local/web_server/pcre
 make
 make install
 cp -r ../pcre-8.10 /usr/local/web_server/pcre/

 tar zxvf google-perftools-0.98.tar.gz  cd google-perftools-0.98  ./configure --prefix=/usr/local/web_server/google-perftools --enable-frame-pointers  make  make install  cp /usr/local/web_server/google-perftools/lib/* /usr/lib/    /usr/sbin/groupadd www  /usr/sbin/useradd -g www www  tar zxvf nginx-0.8.36.tar.gz  cd nginx-0.8.36/  ./configure --prefix=/usr/local/web_server/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/web_server/pcre/pcre-8.10/ --with-google_perftools_module(動態機器)  --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/web_server/pcre/pcre-8.10/ --with-google_perftools_module --with-http_perl_module --with-debug(靜態機器)  make && make install

相關文章
相關標籤/搜索