zoukankan      html  css  js  c++  java
  • centos5 源码安装Nginx + mysql + apache + php

        安装教程网上有很多,放在google或是baidu一搜就有很多了,我也是新手,安装的时候也是从网上查找资料然后安装,主要依照的是张宴的一篇博文《http://blog.s135.com/post/366/》,安装的软件是也是从他提供的列表中下载,这里都是tar.gz格式,如果更希望是rpm格式的话,提供一个网址《http://rpmfind.net/linux/rpm2html/search.php》这里列出了比较完全的下载包。

    我安装的系统:Centos5

    1、下载;

    我安装的下载来自张宴博文下的地址,下载保存的是home下自己目录的一个文件夹下:

    2、准备编译安装环境,需要编译源码用到gc++

    建议如果是新安装的系统,使用yum upgrade更新下系统。

    sudo -s
    LANG=C
    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel 
    glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
    openldap 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.gz
    cd libiconv-1.13/
    ./configure --prefix=/usr/local
    make
    make install
    make clean
    make distclean
    cd ../

    make clean 和make distclean都是删除安装过程中生成的缓存文件。当然如果你不介意放着也可以跳过这两步清理操作。

    2]libmcrypt库

    tar zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8/
    ./configure
    make
    make install
    make clean
    make distclean
    /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install make make install make clean
    make distclean
    cd http://www.cnblogs.com/

    3] mhash库

    tar zxvf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9/
    ./configure
    make
    make install
    cd ../
    

    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 configure
    configure: error: *** libmcrypt was not found 
    

    是因为path的问题,所以执行:

    ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
    ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
    ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
    ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
    ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
    ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
    ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
    ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
    ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
    ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config


    然后再安装:

    tar zxvf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8/
    /sbin/ldconfig
    ./configure
    make
    make install
    cd ../
    

    二、安装mysql

    /usr/sbin/groupadd mysql
    /usr/sbin/useradd -g mysql xxx
    unzip mysql-5.1.33.zip cd 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=innobase make make install make clean make distclean chmod +w /usr/local/webserver/mysql chown -R xxx:mysql /usr/local/webserver/mysql cp support-files/my-medium.cnf.sh /usr/local/webserver/mysql/my.cnf
    cd ../

    注意:这里编译./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.gz
    gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p1
    cd 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-sasl make ZEND_EXTRA_LIBS='-liconv' make install cp php.ini-dist /usr/local/webserver/php/etc/php.ini cd ../

    注意:这里./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符

     4、编译安装PHP5扩展模块--可选安装

    tar zxvf memcache-2.2.5.tgz
    cd memcache-2.2.5/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    make clean
    make distclean
    cd ../

    tar jxvf eaccelerator-0.9.5.3.tar.bz2
    cd eaccelerator-0.9.5.3/
    /usr/local/webserver/php/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    make clean
    make distclean
    cd ../

    tar zxvf PDO_MYSQL-1.0.2.tgz
    cd 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/mysql
    make
    make install
    make clean
    make distclean
    cd ../

    tar zxvf ImageMagick.tar.gz
    cd ImageMagick-6.5.1-2/
    ./configure
    make
    make install
    make clean
    make distclean
    cd ../

    tar zxvf imagick-2.2.2.tgz
    cd imagick-2.2.2/
    /usr/local/webserver/php/bin/phpize
    ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    make clean
    make distclean
    cd ../


    5、修改php.ini文件
      手工修改:查找/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 = On

    6、配置eAccelerator加速PHP:
    mkdir -p /usr/local/webserver/eaccelerator_cache
    vi /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.conf
    kernel.shmmax = 134217728
    然后执行以下命令使配置生效:/sbin/sysctl -p

    以下的步骤和张宴步骤中一样配置,不再赘诉
  • 相关阅读:
    排列专题(不定期更新)
    搜索专题(不定期更新)
    Redis 高级面试题
    面试题1
    CentOS7查看开放端口命令及开放端口号
    Union和Union All到底有什么区别
    浅谈MySQL中优化sql语句查询常用的30种方法
    什么是分布式系统,如何学习分布式系统(转)
    浅析分布式系统(转)
    什么是分布式系统(通俗易懂的说法)(转)
  • 原文地址:https://www.cnblogs.com/xiaoyaoxia/p/1937672.html
Copyright © 2011-2022 走看看