編譯步驟
要先裝nginx和mysql(nginx沒有php其實也能裝起來)
/application/nginx/sbin/nginx -V
ll /application/mysql
lsof -i:3306
netstat -lntup|grep 3306
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
1.安裝相關壓縮庫xml庫jpeg庫字符集相關庫
rpm -qa zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel
yum install zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel -y
yum install freetype-devel libpng-devel gd-devel libcurl-devel -y
名稱改動:
libjpeg-devel===>libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64
curl-devel ====>libcurl-devel-7.19.7-40.el6_6.4.x86_64
libiconv-devel:在阿里源上下載不到
步驟:
mkdir -p /home/oldboy/tools
cd /home/oldboy/tools
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make installw
cd ../
############快速安裝方法安裝epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
2.安裝libmcrypt庫阿里源下載不到所以用epel源
yum -y install libmcrypt-devel libxslt-devel
rpm -qa libmcrypt-devel
3.安裝mhash(加密擴展庫)(epel源)
yum install mhash mhash-devel mcrypt -y
rpm -qa mhash mhash-devel mcrypt
####################################依賴已經裝完
tar xf php-5.3.27
cd php-5.3.27
./configure --prefix=/application/php-5.3.27 \
--with-mysql=/application/mysql \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp
若無mysql則--with-mysql=/application/mysqlnd
4.編譯PHP:
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make
make install
ln -s /application/php-5.3.27 /application/php
5.配置PHP搜索引擎(php.ini解析的配置文件)
cd php-5.3.27
cp /tools/php-5.3.27/php.ini-production /application/php/lib/php.ini
6.配置php.fpm.conf文件127.0.0.1:9000
cd /application/php/etc/
cp php-fpm.conf.defult php-fpm.conf
解釋:
pid = /app/logs/php-fpm.pid
error_log = /app/logs/php-fpm.log
log_level = error##日誌等級
rlimit_files = 32768##文件描述符
events.mechanism = epoll##模型
listen.owner = nginx
listen.group = nignx
pm.max_children = 1024##子進程數量
pm.start_servers = 16##開始啓動時默認有幾個服務器
pm.max_spare_servers = 20##最小空閒
pm.process_idle_timeout = 15s;##超時退出
pm.max_requests = 2048##最大請求數
alowlog = /app/logs/spool.log.slow##慢查詢
request_slowlog_timeout = 10
php admin信箱地址
/application/php/sbin/php-fpm##啓動