LNMP企业应用部署全过程(基于DEDE后台)(3)

说明:
1.每个数据库使用独立的数据库管理员,且分配如下权限(按实际分配):
select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
2.MySQL数据库用户root密码必须修改
/usr/local/webserver/mysql/bin/mysqladmin -u root password n53s8mOE4Dh7qw

#停止MySQL命令
/data0/mysql/3306/mysql stop
service mysqld stop
/etc/init.d/mysqld stop

五、安装PHP
安装php所依赖的软件:
1.安装libiconv
tar xzvf libiconv-1.14.tar.gz && cd libiconv-1.14
./configure --prefix=/usr/local/webserver/lib/libiconv
make && make install && cd ../

2.安装libmcrypt
tar xzvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8
./configure
make && make install && cd ../

3.安装mhash
tar zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9
./configure
make && make install && cd ../

4.安装mcrypt
tar -zxvf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/lib ./configure
make && make install && cd ../

5.开始安装php
tar xzvf php-5.3.9.tar.gz && cd php-5.3.9
./configure --prefix=/usr/local/webserver/php \
--with-config-file-path=/usr/local/webserver/php/etc \
--with-mysql=/usr/local/webserver/mysql \
--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config \
--enable-mbstring \
--with-libxml-dir=/usr/local/webserver/lib/libxml2 \
--with-iconv-dir=/usr/local \
--enable-fpm \
--with-zlib-dir=/usr/local/webserver/lib/zlib \
--enable-zip \
--with-mcrypt \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-xml \
--with-gd \
--enable-gd-native-ttf \
--with-mhash

make
make install

**********************************
(1)找不到“-liconv”
/usr/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make: *** [sapi/fpm/php-fpm] Error 1
解决办法:make ZEND_EXTRA_LIBS='-liconv'
(2)编译php错误/usr/bin/ld:cannot find -lltdl
错误提示是在./configure 后make的时候出现
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
分析:
系统缺乏对应的库文件;
版本不对应;
库文件的链接错误;
库文件路径设置问题;

解决:
1)确认libltdl库文件是否存在
ll /usr/lib/libltdl*
ll /usr/lib/local/libltdl*
或者其他自定义的lib下有无libltdl.so
如果存在类似如libltdl.so.1,那么可以通过ln -sv libltdl.so.1 libltdl.so,建立一个连接重建libltdl.so
2)检查/etc/ld.so.conf中的库文件路径是否正确
可以直接将以下路径添加:
/usr/lib
/usr/local/lib

重建ld.so.cache文件:ldconfig

说明:重建ld.so.cache文件,ld的库文件检索目录存放文件。尤其刚刚编译安装的软件,必须运行ldconfig,才能将新安装的库文件导入ld.so.cache.
3)如果没有找到任何库文件,请执行下面
cd /tools/libmcrypt-2.5.8/libltdl
./configure --enable-ltdl-install
make && make install
*****************************************************

cp php.ini-production /usr/local/webserver/php/etc/php.ini
cp /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf

#存放pid和日志文件
mkdir -p /usr/local/webserver/php/logs

vim /usr/local/webserver/php/etc/php-fpm.conf
修改内容为如下:
pid  /usr/local/webserver/php/logs/php-fpm.pid
error_log  /usr/local/webserver/php/logs/php-fpm.log

pm.max_children = 64
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1024
user = www
group = www

************************************************************
安装PHP5扩展模块:
1.安装eaccelerator
tar jxvf eaccelerator-0.9.6.1.tar.bz2 && cd eaccelerator-0.9.6.1
/usr/local/webserver/php/bin/phpize
./configure --enable-eaccelerator=shared \
--with-php-config=/usr/local/webserver/php/bin/php-config
make && make install && cd ../

************************************************************
2.安装zend
wget
tar zxvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
mv ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so /usr/local/webserver/php/lib/php/extensions

#缓存目录,下面需要使用到此目录
mkdir -p /usr/local/webserver/eaccelerator_cache

vim /usr/local/webserver/php/etc/php.ini
按shift+g添加以下内容:
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension=/usr/local/webserver/php/lib/php/extensions/ZendGuardLoader.so
zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
  eaccelerator.shm_size="16"
  eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"
  eaccelerator.enable="1"
  eaccelerator.optimizer="1"
  eaccelerator.check_mtime="1"
  eaccelerator.debug="0"
  eaccelerator.filter=""
  eaccelerator.shm_max="0"
  eaccelerator.shm_ttl="0"
  eaccelerator.shm_prune_period="0"
  eaccelerator.shm_only="0"

#启动php并验证
/usr/local/webserver/php/sbin/php-fpm
说明:启动php-fpm时出现ZendGuardLoader.so: cannot restore segment prot after reloc: Permission denied
关闭selinux即可,具体操作如下:
vim /etc/selinux/config
将SELINUX=enforcing 改成SELINUX=disabled
setenforce 0

ps -ef |grep php
netstat -anp |grep 127.0.0.1:9000

#设置nginx,mysql和php开机启动
vim /etc/rc.d/rc.local
/usr/local/webserver/nginx/sbin/nginx
/usr/local/webserver/php/sbin/php-fpm
/data0/mysql/3306/mysql start

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/51cd1ee24e012903b3529e08b86fd975.html