Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 + Phalcon + Thrift + Composer在 CentOS 下的編譯安裝

Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 安裝參考了 http://zyan.cc/nginx_php_v7 大神的資料,這裏就直接貼出了
 
 一、安裝Nginx:
mkdir -p /Data/tgz
cd /Data/tgz
yum install wget
yum install pcre
yum install openssl*
yum -y install gcc gcc-c++ 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 make
yum -y install gd gd2 gd-devel gd2-devel
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
ulimit -SHn 65535
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
tar zxvf pcre-8.32.tar.gz
cd pcre-8.32
./configure --prefix=/Data/apps/pcre
make && make install
cd ../

wget  http://nginx.org/download/nginx-1.5.2.tar.gz
tar zxvf nginx-1.5.2.tar.gz
cd nginx-1.5.2
./configure --user=www --group=www --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/Data/tgz/pcre-8.32 --with-http_realip_module --with-http_image_filter_module
make
make install
cd ../


  二、安裝 MySQL:
wget  http://downloads.mysql.com/archives/mysql-5.6/mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.10-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.10-linux-glibc2.5-x86_64 /Data/apps/mysql
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir -p /Data/data/mysql/data
yum install libaio
/Data/apps/mysql/scripts/mysql_install_db --basedir=/Data/apps/mysql --datadir=/Data/data/mysql/data --user=mysql

sed -i "s#/usr/local/mysql#/Data/apps/mysql#g" /Data/apps/mysql/bin/mysqld_safe


  三、安裝PHP依賴庫
mkdir -p /Data/apps/libs/
wget  http://www.ijg.org/files/jpegsrc.v9.tar.gz     
tar zxvf jpegsrc.v9.tar.gz
cd jpeg-9/
./configure --prefix=/Data/apps/libs --enable-shared --enable-static --prefix=/Data/apps/libs
make
make install
cd ../

wget  http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz
tar zxvf libpng-1.6.2.tar.gz
cd libpng-1.6.2/
./configure --prefix=/Data/apps/libs
make
make install
cd ../

wget  http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz
tar zxvf freetype-2.4.12.tar.gz
cd freetype-2.4.12/
./configure --prefix=/Data/apps/libs
make
make install
cd ../


wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?big_mirror=0"
wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?big_mirror=0"
wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?big_mirror=0"


tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure --prefix=/Data/apps/libs
make
make install
cd libltdl/
./configure --prefix=/Data/apps/libs --enable-ltdl-install
make
make install
cd ../../


tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure --prefix=/Data/apps/libs
make
make install
cd ../


vi /etc/ld.so.conf

添加:
/Data/apps/libs/lib

而後:
ldconfig


tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
export LDFLAGS="-L/Data/apps/libs/lib -L/usr/lib"
export CFLAGS="-I/Data/apps/libs/include -I/usr/include"
touch malloc.h
./configure --prefix=/Data/apps/libs --with-libmcrypt-prefix=/Data/apps/libs
make
make install
cd ../


  四、編譯安裝PHP 5.5
wget  http://www.php.net/get/php-5.5.1.tar.gz/from/tw2.php.net/mirror
tar zxvf php-5.5.1.tar.gz
cd php-5.5.1/
export LIBS="-lm -ltermcap -lresolv"
export DYLD_LIBRARY_PATH="/Data/apps/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"
export LD_LIBRARY_PATH="/Data/apps/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"
./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/Data/apps/libs --with-jpeg-dir=/Data/apps/libs --with-png-dir=/Data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/Data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts
make
make install
cp php.ini-development /Data/apps/php/etc/php.ini
cd ../


ln -s /Data/apps/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
mv /Data/apps/php/etc/php-fpm.conf.default /Data/apps/php/etc/php-fpm.conf


  五、編譯安裝PHP擴展
wget  http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar zxvf autoconf-latest.tar.gz
cd autoconf-2.69/
./configure --prefix=/Data/apps/libs
make
make install
cd ../

wget  http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxvf memcache-2.2.7.tgz
cd memcache-2.2.7/
export PHP_AUTOCONF="/Data/apps/libs/bin/autoconf"
export PHP_AUTOHEADER="/Data/apps/libs/bin/autoheader"
/Data/apps/php/bin/phpize
./configure --with-php-config=/Data/apps/php/bin/php-config
make
make install
cd ../


  打開 /Data/apps/php/etc/php.ini 查找 ; extension_dir = "ext"
  在其後增長一行:
extension = "memcache.so"
 
 
而後安裝Phalcon
首先安裝依賴包
sudo yum install git gcc make pcre-devel php-devel
==================如下官方的安裝方法,若是是自定義安裝php不可行================
git clone git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install
==================以上官方的安裝方法,若是是自定義安裝php不可行================
若是是定義安裝應該給出php-config的目錄,不然會找不到phalcon,這裏安裝花了好多時間,一路狂找資料,最後終於解決,哎,不容易!
git clone git://github.com/phalcon/cphalcon.git cd /mnt/soft/cphalcon/build/64bits/
/php-config && make && make install/Data/apps/php/bin/phpize ./install ./configure --with-php-config=/Data/apps/php/bin
安裝完成修改php.ini 添加以下一行
extension=phalcon.so
而後重啓php-fpm進程
 
最後安裝Thrift,我安裝的是 0.9.0
這個簡單
wget http://archive.apache.org/dist/thrift/0.9.0/thrift-0.9.0.tar.gz
tar zxvf thrift-0.9.0.tar.gz
cd thrift-0.9.0
若是須要的話能夠將Thrift服務也一塊兒裝上
 
 
裝php支持的Thrift擴展
cd /usr/local/src/thrift-0.9.0/lib/php/src/ext/thrift_protocol/
phpize
./configure --with-php-config=/Data/apps/php/bin/phpize && make && make install/Data/apps/php/bin/phpize
加入 extension=thrift_protocol.so
重啓php-fpm進程,重啓nginx OK搞定。。。。
 
 
最後安裝Composer

介紹

Composer是PHP中的一個依賴管理工具. 它可讓你聲明本身項目所依賴的庫,而後它將會在項目中爲你安裝這些庫。php

依賴管理

Composer不是包管理器。是的,它實際上和"包"或者庫打交道,可是它是以項目爲單位進行管理,把它們安裝到你項目中的一個目錄(例如vendor)。默認狀況下它不會以全局的方式安裝任何東西。所以,它是一個依賴管理器。node

這個想法並不新鮮,Composer的靈感是來自於node的npm和ruby的bundler。可是目前PHP尚未一個這樣的工具。mysql

Composer解決的問題是:linux

a) 你有一個依賴N多庫的項目。nginx

b) 這些庫中一些又依賴於其餘的庫。c++

c) 你聲明你所依賴的庫。git

d) Composer找出哪些包的哪一個版本將會被安裝,而後安裝它們(也就是把它們下載到你的項目中)。github

 

安裝sql

Composer包含兩大邏輯部分:一個是用來存儲包,另外一個是命令行應用程序,幫助你發現、下載、更新和分享代碼。apache

  1. $ cd/path/to/my/project  
  2. $ curl -s http://getcomposer.org/installer| php 

在項目列表中,會有一個composer.phar文件,裏面包含了全部邏輯代碼行工具。你能夠經過運行下面代碼來肯定是否安裝成功。

  1. $ php composer.phar 

這個命令執行後會顯示全部可用的命令。

我我的比較建議你們使用這個命令:

  1. $ sudo mv composer.phar /usr/bin/composer 

把這個文件移到bin目錄下,它容許你簡化命令。

  1. $ composer about 

若是你是在Windows上運行,你能夠下載這個文件,而後經過PHP解析器安裝,不管在哪裏均可以。

相關文章
相關標籤/搜索