centos 6.5 搭建php

来源:互联网 发布:淘宝商品代理 编辑:程序博客网 时间:2024/06/06 05:13

搭建php 

 

centos 6.5 64

php: 5.5.32

 

三.安装PHP

 

先配置本地yum

安装依赖包:

yum -y install curl-devel mysql-devel libfreetype6-dev freetype-devel libpng libpng-devel openldap openldap-devel bzip2-devel db4-devel postgresql-devel net-snmp-devel libjpeg-devel libpng-devel libXpm-devel gmp-devel pspell-devel libxslt-devel libc-client-devel openldap-devel libxslt-devel libxml2-devel pcre-devel mysql-develunixODBC-devel

 

  安装PHP所需依赖包:

 

 

tar zxvf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local

make && make install

cd ../

 

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8/

./configure

make && make install

/sbin/ldconfig

cd libltdl/

./configure --enable-ltdl-install

make && make install

cd ../../

 

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make && make install

cd ../

 

 

对共享库做符号链接

ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la

ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so

ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4

ln -sf /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4

ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8

ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a

ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la

ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so

ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2

ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1

ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

 

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

./configure

make && make install

cd ../

 

安装php

 

 

tar zxvf php-5.5.13.tar.gz

cd php-5.5.13

 

mkdir /usr/local/php

mkdir /usr/local/php/etc

请核对一下自己的安装目录。

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \

--with-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config \

--with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --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 --with-gd --enable-gd-native-ttf \

--with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap \

--enable-opcache=no --without-pear --disable-fileinfo

 

列表如下(部分参数未得到解释):

# 指定 php 安装目录

--prefix=/usr/local/php 

# 指定php.ini位置

--with-config-file-path=/usr/local/php/etc 

# mysql安装目录,对mysql的支持

--with-mysql=/usr/local/mysql

mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。

--with-mysqli=/usr/local/mysql/bin/mysql_config   

整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块

--with-apxs2=/usr/local/apache/bin/apxs 

# 选项指令 --with-iconv-dir 用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。

--with-iconv-dir=/usr/local 

 

 

 

#注:如果内存较大 可以去掉--disable-fileinfo

make ZEND_EXTRA_LIBS='-liconv'

make install

cp php.ini-development /usr/local/php/etc/php.ini

cd ../

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

vi /usr/local/php/etc/php-fpm.conf

    修改

 

user = nobody

group = nobody

    为

 

user = www

group = www

 

;pid = run/php-fpm.pid前的;去掉并修改为

pid = /usr/local/php/var/run/php-fpm.pid

 启动php-fpm

 

/usr/local/php/sbin/php-fpm

 将Nginxfpm加入自启动

 

vi /etc/rc.local

输入

ulimit -SHn 65535

/usr/local/php/sbin/php-fpm

/usr/local/nginx/sbin/nginx

编译PHP扩展模块memcachepdo_mysqlimagick

 

tar zxvf memcache-3.0.8.tgz

cd memcache-3.0.8

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ../

 

tar zxvf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/opt/mysql

/usr/include/mysql mysql的头文件位置

ln -s /usr/include/mysql/* /usr/local/include/

make && make install

cd ../

 

tar zxvf ImageMagick.tar.gz

cd ImageMagick-6.5.1-2/

./configure

make && make install

cd ../

 

tar zxvf imagick-3.2.0RC1.tgz

cd imagick-3.2.0RC1

/usr/local/php/bin/phpize

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ../

    修改php.ini配置文件

 

vi /usr/local/php/etc/php.ini

#查找; extension_dir = "/" 将前面的;去掉并修改为

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"

#并加入

extension=memcache.so

extension=pdo_mysql.so

extension=imagick.so

执行下面的命令使配置文件立即生效:

 

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

    其他(可选):

 

    优化linux内核参数

 

vi /etc/sysctl.conf

    在末尾增加以下内容:

 

# Add

net.ipv4.tcp_max_syn_backlog = 65536

net.core.netdev_max_backlog =  32768

net.core.somaxconn = 32768

 

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

 

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

 

net.ipv4.tcp_tw_recycle = 1

#net.ipv4.tcp_tw_len = 1

net.ipv4.tcp_tw_reuse = 1

 

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_max_orphans = 3276800

 

#net.ipv4.tcp_fin_timeout = 30

#net.ipv4.tcp_keepalive_time = 120

net.ipv4.ip_local_port_range = 1024  65535

    使配置立即生效:

 

/sbin/sysctl -p

    安装opcache(因为PHP 5.5已经集成Zend Opcache,可以替代eaccelerator

 

 

tar zxvf zendopcache-7.0.3.tgz

cd zendopcache-7.0.3

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ../

    在php.ini中加入下面配置:

 

[opcache]

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.revalidate_freq=60

opcache.fast_shutdown=1

opcache.enable_cli=1

 

使php.ini配置文件立即生效

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

    常用命令:

 

 

#修改完php.ini后执行:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

#修改完nginx.conf后执行

/usr/local/nginx/sbin/nginx -s reload

#重启mysql服务执行:

service mysqld (start|stop|restart)

 

ln -s /usr/local/php/bin/php /usr/bin/php  

链接到/usr/bin下

 

同样在slave上按照上面的步骤安装。

 

请多指教!

0 0