在 CentOS7最小化 下的編譯安裝:Nginx 1.5.2 + PHP 5.5.7 + MySQL 5.6.10

一、安裝Nginx:php

安裝包目錄mysql

mkdir -p /Data/tgz
cd /Data/tgz

安裝編譯依賴linux

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

 

perl語言兼容正則表達式,是一個用C語言編寫的正則表達式函數nginx

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 ../

 

1 ./configure 
2 --user=www                             設置nginx運行時以什麼用戶來運行worker進程(默認爲nobody用戶)
3 --group=www                         設置nginx運行時以什麼組來運行worker進程(默認爲nobody組)
4 --prefix=/Data/apps/nginx             指明nginx的安裝所在路徑
5 --with-http_stub_status_module         啓用 「server status」 頁 
6 --with-http_ssl_module                 開啓HTTP SSL模塊,使NGINX能夠支持HTTPS請求。這個模塊須要已經安裝了OPENSSL,在DEBIAN上是libssl 
7 --with-pcre=/Data/tgz/pcre-8.32     指定 PCRE 庫的源代碼的路徑
8 --with-http_realip_module             啓用 ngx_http_realip_module 
9 --with-http_image_filter_module        nginx提供的集成圖片處理模塊  HttpImageFilterModule模塊須要依賴gd-devel的支持,能夠使用yum或apt-get方便地安裝,若是未安裝回報「/configure: error: the HTTP image filter module requires the GD library.」錯誤
nginx編譯安裝參數

 

 

 二、安裝 MySQL:c++

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依賴庫正則表達式

php處理圖形的擴展庫,安裝GD庫前得先安裝freetype、libpng、jpegsrc、zlib等關聯庫算法

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

 

********************************** 報錯 start *********************************

當 make install 時老是:


rm -f /usr/local/modules/freetype/include/freetype2/freetype/cache/*

rmdir /usr/local/modules/freetype/include/freetype2/freetype/cache

rm -f /usr/local/modules/freetype/include/freetype2/freetype/internal/*

rmdir /usr/local/modules/freetype/include/freetype2/freetype/internal

rmdir: ‘/usr/local/modules/freetype/include/freetype2/freetype/internal’: 沒有那個文件或目錄

make: [install] 錯誤 1 (忽略)

/usr/bin/install -c -m 644 ./builds/unix/ft2unix.h \

          /usr/local/modules/freetype/include/ft2build.h

/usr/bin/install -c -m 644 ./builds/unix/ftconfig.h                        \

          /usr/local/modules/freetype/include/freetype2/freetype/config/ftconfig.h

/usr/bin/install -c -m 644 /opt/src/lamp/freetype-2.2.1/objs/ftmodule.h                          \

          /usr/local/modules/freetype/include/freetype2/freetype/config/ftmodule.h

/usr/bin/install -c -m 755 ./builds/unix/freetype-config \

          /usr/local/modules/freetype/bin/freetype-config

/usr/bin/install -c -m 644 ./builds/unix/freetype2.m4 \

          /usr/local/modules/freetype/share/aclocal/freetype2.m4

/usr/bin/install -c -m 644 ./builds/unix/freetype2.pc \

          /usr/local/modules/freetype/lib/pkgconfig/freetype2.pc

(報錯)

解決辦法:

mkdir /Data/apps/libs/include/freetype2/freetype/internal

須要在freetype的安裝目錄下建立internal 這個目錄而後,

make install

********************************** 報錯 end *********************************

 

cd ../

 

php加密擴展庫sql

 

wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.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 ../../

 mhash的能夠用於建立校驗數值,消息摘要,消息認證碼,以及無需原文的關鍵信息保存(如密碼)等。app

 

wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?big_mirror=0"
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

 

Mcrypt擴展庫能夠實現加密解密功能,就是既能將明文加密,也能夠密文還原。curl

wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?big_mirror=0"
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

 

 1 ./configure 
 2 --prefix=/Data/apps/php                             是指PHP的安裝目錄
 3 --with-config-file-path=/Data/apps/php/etc             php.ini文件位置
 4 --with-mysql=/Data/apps/mysql                         包含MySQL支持
 5 --with-mysqli=/Data/apps/mysql/bin/mysql_config     包含MySQLi支持。參數爲mysql_config的位置。
 6 --with-iconv-dir 
 7 --with-freetype-dir=/Data/apps/libs 
 8 --with-jpeg-dir=/Data/apps/libs          打開對jpeg圖片的支持
 9 --with-png-dir=/Data/apps/libs             打開對png圖片的支持
10 --with-zlib                             ##–-with-zlib-dir     打開zlib庫的支持
11 --with-libxml-dir=/usr             打開libxml2庫的支持
12 --enable-xml 
13 --disable-rpath                 禁用在搜索路徑中傳遞其餘運行庫。
14 --enable-bcmath                 打開圖片大小調整,用到zabbix監控的時候用到了這個模塊
15 --enable-shmop 
16 --enable-sysvsem 
17 --enable-inline-optimization 
18 --with-curl                     打開curl瀏覽工具的支持
19 --enable-mbregex 
20 --enable-fpm                     打上php-fpm 補丁後纔有這個參數,cgi方式安裝的啓動程序
21 --enable-mbstring                 多字節,字符串的支持
22 --with-mcrypt=/Data/apps/libs     加密算法
23 --with-gd                         打開gd庫的支持
24 --enable-gd-native-ttf             支持TrueType字符串函數庫
25 --with-openssl                     openssl的支持,加密傳輸時用到的
26 --with-mhash                     加密算法
27 --enable-pcntl                      freeTDS須要用到的,多是連接mssql 纔用到
28 --enable-sockets                  打開 sockets 支持
29 --with-xmlrpc                     打開xml-rpc的c語言
30 --enable-zip                     打開對zip的支持
31 --enable-soap 
32 --enable-opcache 
33 --with-pdo-mysql 
34 --enable-maintainer-zts
php編譯安裝時的參數

 

 

 

五、編譯安裝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"

 

 

原連接:http://zyan.cc/nginx_php_v7/

相關文章
相關標籤/搜索