微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

centos5 源码安装Nginx + mysql + apache + php的方法

主要依照的是张宴的一篇博文《http://blog.s135.com/post/366/》,安装的软件是也是从他提供的列表中下载,这里都是tar.gz格式,如果更希望是rpm格式的话,提供一个网址《http://rpmfind.net/linux/rpm2html/search.PHP》这里列出了比较完全的下载包。

我安装的系统:Centos5

1、下载;

我安装的下载来自张宴博文下的地址,下载保存的是home下自己目录的一个文件夹下:复制代码代码如下:cd /home/xuxx/softwarewget http://blog.s135.com/soft/linux/Nginx_PHP/Nginx/Nginx-0.7.51.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/PHP/PHP-5.2.8.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/PHPfpm/PHP-5.2.8-fpm-0.5.10.diff.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/MysqL/MysqL-5.1.33.zipwget http://blog.s135.com/soft/linux/Nginx_PHP/libiconv/libiconv-1.13.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/mcrypt/libmcrypt-2.5.8.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/mcrypt/mcrypt-2.6.8.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/memcache/memcache-2.2.5.tgzwget http://blog.s135.com/soft/linux/Nginx_PHP/mhash/mhash-0.9.9.9.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/pcre/pcre-7.8.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/eaccelerator/eaccelerator-0.9.5.3.tar.bz2wget http://blog.s135.com/soft/linux/Nginx_PHP/pdo/PDO_MysqL-1.0.2.tgzwget http://blog.s135.com/soft/linux/Nginx_PHP/imagick/ImageMagick.tar.gzwget http://blog.s135.com/soft/linux/Nginx_PHP/imagick/imagick-2.2.2.tgz2、准备编译安装环境,需要编译源码用到gc++建议如果是新安装的系统,使用yum upgrade更新下系统。复制代码代码如下:sudo -sLANG=Cyum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-develglib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-developenldap openldap-devel nss_ldap openldap-clients openldap-servers注意:这里所有的命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符确保安装成功!才能正确使用编译。3、安装:一、安装PHP 5.2.8(FastCGI模式)1、编译安装PHP 5.2.8所需的支持库:1] libiconv库复制代码代码如下:tar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure –prefix=/usr/localmakemake installmake clean>make distcleancd ../make clean 和make distclean都是删除安装过程中生成的缓存文件。当然如果你不介意放着也可以跳过这两步清理操作。2]libmcrypt库复制代码代码如下:tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake installmake cleanmake distclean/sbin/ldconfigcd libltdl/./configure –enable-ltdl-installmakemake installmake cleanmake distcleancd http://www.cnblogs.com/3] mhash库复制代码代码如下:tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../4]mcrypt库注意:因为该库和libmcrypt有依赖性,所以在安装前必须知道libmcrypt,否则的话会出现:错误复制代码代码如下:checking for libmcrypt – version >= 2.5.0…*** ‘libmcrypt-config –version’ returned 2.4.0,but libmCRYPT (2.5.8)*** was found! If libmcrypt-config was correct,then it is best*** to remove the old version of libmCRYPT. You may also be able to fix the error*** by modifying your LD_LIBRARY_PATH enviroment variable,or by editing*** /etc/ld.so.conf. Make sure you have run ldconfig if that is*** required on your system.*** If libmcrypt-config was wrong,set the environment variable libmCRYPT_CONfig*** to point to the correct copy of libmcrypt-config,and remove the file config.cache*** before re-running configureconfigure: error: *** libmcrypt was not found是因为path的问题,所以执行:复制代码代码如下:ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config然后再安装:复制代码代码如下:tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../二、安装MysqL复制代码代码如下:/usr/sbin/groupadd MysqL/usr/sbin/useradd -g MysqL xxxunzip MysqL-5.1.33.zipcd MysqL-5.1.33/./configure –prefix=/usr/local/webserver/MysqL/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables–with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobasemakemake installmake cleanmake distcleanchmod +w /usr/local/webserver/MysqLchown -R xxx:MysqL /usr/local/webserver/MysqLcp support-files/my-medium.cnf.sh /usr/local/webserver/MysqL/my.cnfcd ../注意:这里编译./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符在最后一步拷贝的时候,我安装完在support-files下没有my-medium.cnf而只有my-medium.cnf.sh所以将这个文件拷贝过去。@张宴原文:附:以下为附加步骤,如果你想在这台服务器上运行MysqL数据库,则执行以下两步。如果你只是希望让PHP支持MysqL扩展库,能够连接其他服务器上的MysqL数据库,那么,以下两步无需执行。①、以xxx用户帐号的身份建立数据表:复制代码代码如下:/usr/local/webserver/MysqL/bin/MysqL_install_db –basedir=/usr/local/webserver/MysqL –datadir=/usr/local/webserver/MysqL/data –user=xxx②、启动MysqL(最后的&表示在后台运行)复制代码代码如下:/bin/sh /usr/local/webserver/MysqL/bin/MysqLd_safe –defaults-file=/usr/local/webserver/MysqL/my.cnf &3、编译安装PHP(FastCGI模式)复制代码代码如下:tar zxvf PHP-5.2.8.tar.gzgzip -cd PHP-5.2.8-fpm-0.5.10.diff.gz | patch -d PHP-5.2.8 -p1cd PHP-5.2.8/./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 –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib–with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem–enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect–enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-ldap–with-ldap-saslmake ZEND_EXTRA_LIBS=’-liconv’make installcp PHP.ini-dist /usr/local/webserver/PHP/etc/PHP.inicd ../注意:这里./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符4、编译安装PHP5扩展模块–可选安装复制代码代码如下:tar zxvf memcache-2.2.5.tgzcd memcache-2.2.5//usr/local/webserver/PHP/bin/PHPize./configure –with-PHP-config=/usr/local/webserver/PHP/bin/PHP-configmakemake installmake cleanmake distcleancd ../tar jxvf eaccelerator-0.9.5.3.tar.bz2cd eaccelerator-0.9.5.3//usr/local/webserver/PHP/bin/PHPize./configure –enable-eaccelerator=shared –with-PHP-config=/usr/local/webserver/PHP/bin/PHP-configmakemake installmake cleanmake distcleancd ../tar zxvf PDO_MysqL-1.0.2.tgzcd PDO_MysqL-1.0.2//usr/local/webserver/PHP/bin/PHPize./configure –with-PHP-config=/usr/local/webserver/PHP/bin/PHP-config –with-pdo-MysqL=/usr/local/webserver/MysqLmakemake installmake cleanmake distcleancd ../tar zxvf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremakemake installmake cleanmake distcleancd ../tar zxvf imagick-2.2.2.tgzcd imagick-2.2.2//usr/local/webserver/PHP/bin/PHPize./configure –with-PHP-config=/usr/local/webserver/PHP/bin/PHP-configmakemake installmake cleanmake distcleancd ../5、修改PHP.ini文件<STRONG>手工修改:</STRONG>查找/usr/local/webserver/PHP/etc/PHP.ini中的extension_dir = "./"修改为extension_dir = "/usr/local/webserver/PHP/lib/PHP/extensions/no-debug-non-zts-20060613/"并在此行后增加以下几行,然后保存:extension = "memcache.so"extension = "pdo_MysqL.so"extension = "imagick.so"再查找output_buffering = Off修改为output_buffering = On6、配置eAccelerator加速PHP:mkdir -p /usr/local/webserver/eaccelerator_cachevi /usr/local/webserver/PHP/etc/PHP.ini按shift+g键跳到配置文件的最末尾,加上以下配置信息:复制代码代码如下:[eaccelerator]zend_extension=”/usr/local/webserver/PHP/lib/PHP/extensions/no-debug-non-zts-20060613/eaccelerator.so”eaccelerator.shm_size=”128″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=”300″eaccelerator.shm_prune_period=”120″eaccelerator.shm_only=”0″eaccelerator.compress=”1″eaccelerator.compress_level=”9″修改配置文件:vi /etc/sysctl.confkernel.shmmax = 134217728然后执行以下命令使配置生效:/sbin/sysctl -p以下的步骤和张宴步骤中一样配置,不再赘诉

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐