歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.3用ICC編譯PHP5.4.8+Percona5.5.27+Tengine1.4.1

CentOS 6.3用ICC編譯PHP5.4.8+Percona5.5.27+Tengine1.4.1

日期:2017/2/28 14:54:47   编辑:Linux教程

在上一篇文章裡我們學習了如何安裝ICC編譯器,今天我們來記錄一下用icc編譯一台web服務器的過程。但是比較遺憾的是,根據我的測試,同樣的參數,用icc編譯出來的環境,運行discuz並未比用gcc編譯出來的環境要有多大的提升,這是比較令人沮喪的。當然,也許是編譯參數未能調整到最優的緣故。不管怎樣,還是把這個編譯過程記錄下來吧,留作參考。

相關閱讀:VMware虛擬機安裝CentOS 6.3 見 http://www.linuxidc.com/Linux/2012-12/76583.htm

1、准備工作
前提是你的服務器已經安裝了icc編譯器,沒安裝的話移步這裡:http://www.linuxidc.com/Linux/2012-12/76637.htm

下載相關的源碼:
wget http://cn.php.net/get/php-5.4.8.tar.gz/from/this/mirror
wget http://www.percona.com/redir/downloads/Percona-Server-5.5/LATEST/source/Percona-Server-5.5.27-rel29.0.tar.gz
wget http://tengine.taobao.org/download/tengine-1.4.1.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
wget https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0"
wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0"
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
wget https://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
wget http://downloads.sourceforge.net/project/pcre/pcre/8.31/pcre-8.31.tar.gz

其他還有memcache、imagick等大家就根據實際需要來下載安裝吧。為了節約篇幅我們今天就不涉及這些東東了。
設置動態鏈接庫的路徑,避免後續編譯的時候出錯:
vi /etc/ld.so.conf
最後增加:
/opt/intel/lib/intel64/
/usr/local/lib
/usr/lib
保存
vi /etc/ld.so.conf.d/usr_local_lib.conf
/usr/local/lib
/usr/lib
保存
ldconfig

2、編譯安裝
tar zxvf libunwind-*.tar.gz
cd libun*
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fPIC' \
CXXFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti -fPIC' \
./configure
make && make install
cd ..

tar zxvf gperftools-2.0.tar.gz
cd gperftools-2.0
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS="-O3 -no-prec-div -ip -fp-model fast=1 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -fPIC" \
CXXFLAGS="${CFLAGS}" \
CPPFLAGS=" -I/opt/intel/include " \
./configure
make && make install
cd ..

tar xzvf libic*
cd libic*
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure --prefix=/usr/local
make && make install
cd ..

tar xzvf libmcry*
cd libmcry*
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make && make install
/sbin/ldconfig
cd libltdl/
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure --enable-ltdl-install
make && make install
cd ../../

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
CC=icc \
CXX=icpc \
LD=xild \
AR=xiar \
CFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel' \
CXXFLAGS='-O3 -xSSE4.2 -axSSE4.2,SSE4.1,SSE3,SSE2 -ip -unroll2 -no-prec-div -fp-model source -restrict -static-intel -fno-implicit-templates -fno-exceptions -fno-rtti' \
./configure
make && make install
cd ../

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql

Copyright © Linux教程網 All Rights Reserved