zoukankan      html  css  js  c++  java
  • 利用Nginx搭建高效Moodle学习平台

    利用Nginx搭建高效Moodle学习平台
    -------Centos5.4+Nginx.083+Php5.32+Mysql5.4安装手记

    ●前期准备
    一、 安装中科大yum源
    1、将所有找到的yum包(有些需要加上–nodeps)(1、2步针对redhatlinux)
    rpm -e –nodeps *.yum
    2、到中科大的网站下载如下两个yum包并安装:
    wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/yum-3.2.19-18.el5.centos.noarch.rpm
    wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/yum-metadata-parser-1.1.2-2.el5.i386.rpm
    rpm -ivh yum-metadata-parser-1.1.2-2.el5.i386.rpm
    rpm -ivh yum-3.2.8-9.el5.centos.1.noarch.rpm
    3、下载中科大专用的配置文件替换原有的yum配置文件:
    #cd /etc/yum.repos.d/
    #wget http://centos.ustc.edu.cn/CentOS-Base.repo.5
    #mv CentOS-Base.repo.5 CentOS-Base.repo
    4、因为默认的配置文件中服务器地址用的版本号是变量$releasever,所以需要将其替换为实际的版本号,否则是无法连接到服务器的(最新版本可以到http://centos.ustc.edu.cn/centos/查询),当前CentOS最新版是5.5,所以我们修改CentOS-Base.repo
    # Vim CentOS-Base.repo
       # :1,$s/$releasever/5.5/g   :wq 保存退出
    二、利用yum安装升级所需的程序库
       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 libtool-ltdl-devel pcre-devel

    ●安装MySQL数据库(可以到http://dev.mysql.com/downloads/下载最新版的mysql)
       #rpm –ivh MySQL-server-community-5.4.1-0.rhel5.i386.rpm
       #rpm –ivh MySQL-devel-community-5.4.1-0.rhel5.i386.rpm
       #rpm –ivh MySQL-client-community-5.4.1-0.rhel5.i386.rpm

    ●编译安装PHP (FastCGI模式)使用php-fpm管理方式
    一、PHP编译要用到的库

    1、安装 libiconv.
    # wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
    #tar –xvf libiconv-1.13.1.tar.gz
    #cd libiconv-1.13.1
    #./configure --prefix=/usr   &&   make   && make install
    2、安装mhash.
        #yum install –y mhash-devel
    3、安装mcrypt
    # yum install libmcrypt-devel
    4、编译安装libevent
    #wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
    #tar –xvf libevent-1.4.13-stable.tar.gz
    #./configure --prefix=/usr   &&   make   &&   make install
    [建议不要使用yum的方式安装libevent,php-fpm建议Libevent 1.4.12-stable or higher is recommended, and at least libevent 1.4.3-stable is required,因此php-fpm需要1.4.3以上版本libevent的支持,所以去libevent的官网下最稳定版的libevent源码包进行编译安装]
    二、下载并编译PHP(php-5.2.13与php-5.3.2编译参数不一样)
    ◆使用php-5.2.13

    1、下载源码
    # wget http://www.php.net/get/php-5.2.13.tar.gz/from/a/mirror   【php源码】
    # wget http://php-fpm.org/downloads/php-5.2.13-fpm-0.5.13.diff.gz 【PHP-FPM补丁包】
    2、解压安装
    # tar –xvf php-5.2.13.tar.gz
          # gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1 【给php打补丁】
    # cd php-5.2.13
    # ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/var/lib/mysql --with-mysql=/usr/bin/mysql_config --with-iconv-dir=/usr --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 --with-xmlrpc --enable-zip --enable-soap(如图一)

    # make ZEND_EXTRA_LIBS='-liconv'
    #make install

    ◆使用php-5.3.2
    1、下载源码
    # wget http://cn.php.net/distributions/php-5.3.2.tar.bz2 /*获取源码*/
    # wget http://php-fpm.org/downloads/0.6/php-fpm-0.6~5.3.1.tar.gz   /*php-fpm补丁
    # tar –xvf php-5.3.2.tar.bz2
    #tar -zxvf php-fpm-0.6~5.3.1.tar.gz
    # php-fpm-0.6-5.3.1/generate-fpm-patch
    #cd php-5.3.2
    # patch -p1 < ../fpm.patch
    **重新安装autoconf系统自带的autoconf2.5.9重编译php-fpm时会提示错误,需要安装autoconf-2.13.tar.gz
    卸载autoconf2.59,安装autoconf2.13
    #rpm –e autoconf2.59
    #wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
    #./buildconf --force
    #./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/var/lib/mysql --with-mysql=/usr/bin/mysql_config --with-iconv-dir=/usr --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 --with-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 --with-xmlrpc --enable-zip --enable-soap --with-libevent=shared (或--with—libevent=/usr/lib,当shared编译参数无效时使用这个参数)

    # make ZEND_EXTRA_LIBS='-liconv'
    Generating phar.php
    Generating phar.phar
    PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
    pharcommand.inc
    invertedregexiterator.inc
    directorygraphiterator.inc
    clicommand.inc
    directorytreeiterator.inc
    phar.inc
    Build complete.
    Don't forget to run 'make test'.
    #make install
    错误提示:PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled
    解决办法:从http://pear.php.net/go-pear下载个没有打包的PEAR安装包存储到本地命名为go-pear.php
    运行:php go-pear.php

    Notice: Following unknown configure options were used:
    • –enable-fastcgi
    • –enable-force-cgi-redirect
    • –enable-discard-path
    php 5.3.0 发现在默认状态下,已经开始支持 fastcgi了,不用再费劲再写配置参数了,如果写了,会提示如上错误信息,这个错误也可以忽略

    三、编译安装PHP5扩展模块
    1、 编译安装memcache-2.2.5.tgz
    #Wget http://pecl.php.net/get/memcache-2.2.5.tgz
    #tar –xvf memcache-2.2.5.tgz
    #cd memcache-2.2.5
    #/usr/local/php/bin/phpize
    #./configure --with-php-config=/usr/local/php/bin/php-config
    2、编译安装 eaccelerator-0.9.6-rc1.tar.bz2
    #wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
    #tar –xvf eaccelerator-0.9.6.1.tar.bz2
    #cd eaccelerator-0.9.6.1
    # /usr/local/php/bin/phpiz
    # ./configure --with-php-config=/usr/local/php/bin/php-config
    3、编译安装PDO_MYSQL-1.0.2
    #wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
    #/usr/local/php/bin/phpiz
    #./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr &make &make install

    编译安装ImageMagick
    #wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.6.3-0.tar.gz
       #./configure
       #make & make install

    4、编译安装imagick
    #wget http://pecl.php.net/get/imagick-3.0.0RC1.tgz
    #tar -xf imagick3.0.0RC1.tgz
    #cd imagick3.0.0RC1
    #/usr/local/php/bin/phpize
    #./configure --with-php-config=/usr/local/php/bin/php-config    &make   &make install

    5、编译安装mysqli
    #cd php-5.3.2/ext/mysqli
    #./configure --with-php-config=/usr/local/php/bin/php-config
    #make   & make in

    修改php.ini文件
      ★手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = "./"  
    修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/" 【no-debug-non-zts-20060613名称可能不同】
      并在此行后增加以下几行,然后保存:
      extension = "memcache.so"
      extension = "pdo_mysql.so"
      extension = "imagick.so"
      再查找output_buffering = Off
      修改为output_buffering = On
    ★PHP 开启短标签支持
    将php.ini 里的short_open_tag = off改成short_open_tag = On
       ★修改上传文件大小
        打开php.ini找到以下内容修改成以下值:
        upload_max_filesize = 20M ;   (默认是2M )
        max_execution_time = 300 ; ( 默认是 30 [seconds] )
    post_max_size = 12M ;        ( 默认是 8M )

    ● 安装Nginx0.8.35
    下载Nginx0.8.35
    #wget http://nginx.org/download/nginx-0.8.35.tar.gz
    一、安装pcre库
        方法一 用源码下载编译安装   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre  
            可能会出现错误
         make时出现的错误:
    "make -f objs/Makefile
    make[1]: Entering directory `/home/nginx-0.7.65'
    cd /usr/local/pcre \
           && if [ -f Makefile ]; then make distclean; fi \ && CC="gcc" CFLAGS="" \
           ./configure --disable-shared
    /bin/sh: line 2: ./configure: 没有那个文件或目录
    make[1]: *** [/usr/local/pcre/Makefile] 错误 127
    make[1]: Leaving directory `/home/nginx-0.7.65'
    make: *** [build] 错误 2"
    解决办法,把手动安装的pcre卸了,make uninstall就行,然后让机器安装yum install pcre-devel版
          方法二 yum install pcre-devel
      
    二、安装nginx
         ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    (可不用--with-pcre=/usr/local/lib)
    /* --with-http_stub_status_module 是为了启用nginx 的NginxStatus 功能,用来监控Nginx 的当前状态*/
    Nginx出现"413 Request Entity Too Large"错误
    如果上传碰到"413 Request Entity Too Large"错误,请在nginx.conf增加 client_max_body_size 8m; 增加上传大小限制

    解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加
    client_max_body_size 20m;
    Ubuntu下该文件在/etc/nginx/nginx.conf

  • 相关阅读:
    Module:template
    Grunt:GruntFile.js
    Grunt:常见错误
    架构:架构-1
    架构:目录
    DS:template
    Jasper:用户指南 / 设备 / 生命周期管理 / SIM 卡状态
    Jasper-Api:接口测试
    linux服务之git
    Java实现 洛谷 P1487 陶陶摘苹果(升级版)
  • 原文地址:https://www.cnblogs.com/sunth/p/1899168.html
Copyright © 2011-2022 走看看