先安装
创新互联公司专注于企业营销型网站、网站重做改版、泽库网站定制设计、自适应品牌网站建设、H5技术、商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为泽库等各大城市提供网站开发制作服务。
nginx
MySQL
安装大部分通用的依赖包(不影响安装,但是容易造成使用环境出现问题)
freetype-devel libpng-devel gd-devel curl-devel(libcurl-devel) libxslt-devel
zlib-devel libxml2-devel libjpeg-devel(libjpeg-turbo-devel) libiconv-devel
其中有可能libiconv-devel (若第三方源有用yum可以安装则不需要这步)
mkdir -p ~/tools && cd ~/tools &&\
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz &&\
tar xf libiconv-1.14.tar.gz && cd libiconv-1.14 &&\
./configure --prefix=/usr/local/libiconv && make && make install && echo $?
检查下是否已经安装
rpm -qa xxx
安装libmcrypt库(编译安装)
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xf libmcrypt-2.5.8.tar.gz && cd libmcrypt && ./configure && make && make install
sleep 5
/sbin/ldconfig && cd libltdl/ && ./configure --enable-ltdl-install && make && make install
可以使用yum安装以上的包,部分需要第三方源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo &&\
yum install libmcrypt-devel -y
安装mcrypt
yum install mcrypt -y && rpm -qa grep|mcrypt
安装mhash库
yum install mhash mhash-devel -y
###############################
PHP5.3
解压进入目录
查看编译参数
./configure --help
当使用--with-mysql=mysqlnd 时,本地不需要安装mysql
mysql,curl,fpm,with-fpm-user,with-fpm-group为关键参数
./configure \
--prefix=/application/php5.x.x \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--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
(待确认功能)--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
假如使用自己的数据库则make前需要处理下(2选1)
1、ln /application/mysql/lib/libmysqlclient.so.18 /usr/lib64 && touch ext/phar/phar.phar
2、echo '/application/mysql/lib' >>/etc/ld.so.conf && ldconfig
make && make install && ln -s /application/php5.3.xx /application/php
############################
PHP5.5部分参数不可用
./configure \
--prefix=/application/php5.x.x \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--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-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-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp
##############################
配置解析文件(若需要优化php解析,改该文件)
cp /application/php/php.ini-production /application/php/lib/php.ini
配置进程文件
cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf
修改fpm配置文件
pid = /app/logs/php-fpm.pid
error_log = /app/logs/php-fpm.log
log_level = error
;文件描述符
rlimit = 32768
events.mechanism = epoll
listen.owner = nginx
listen.group = nginx
pm.max_children = 1024
pm.start_servers = 16
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.process_idle_timeout = 15s;
pm.max_requests = 2048
slowlog = /app/logs/$pool.log.slow
request_slowlog_timeout = 10
p_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f xxx@xxx.com
配置nginx,将请求处理追加到server配置里
location ~.*/.(php|php5)?$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
重新检查加载nginx文件
页面测试
phpinfo();
?>
数据库测试
$link_id=mysql_connect('mysql_server','mysql','password') or mysql_error();
if($link_id){
echo "successful!";
}else{
echo mysql_error();
}
?>