• apache安装


    一、编译安装
    1、解决依赖关系

    安装httpd 2.4.4时首先需要解决依赖关系,httpd 2.4.4需要较新版本的apr和apr-util。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。本文选择第一种方法来进行升级。在这里我们下载 apr-1.4.6.tar.bz2与apr-util-1.5.2.tar.bz2版本。为了以后不必要的麻烦,在这里一定要保证系统时间正确,不正确的(data自行修改)。
    apr和apr-util的下载路径为:http://archive.apache.org/dist/apr/  
    (1)首先根据惯例剪切apr与apr-util到/usr/local/src下,然后进行解压操作
    mv  apr-1.4.6.tar.bz2  /usr/local/src
    mv  apr-util-1.5.2.tar.bz2  /usr/local/src
    tar -xjvf apr-1.4.6.tar.bz2 
    tar -xjvf apr-util-1.5.2.tar.bz2
    (2)编译安装apr
    cd apr-1.4.6
    ./configure --prefix=/usr/local/apr      #安装在/usr/local/下 命名为apr
    make
    make install
    (3)编译安装apr-util
    cd apr-util-1.5.2
     ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    make
    make install
    (4) httpd-2.4.4编译过程也要依赖于pcre-devel软件包,需要事先安装。此软件包系统光盘自带,因此,找到并安装即可。
    yum -y install pcre-devel
    到此为止基本上解决了依赖关系。
    2、编译安装httpd-2.4.4
    下载httpd-2.4.4.tar.bz2下载地址为https://archive.apache.org/dist/httpd/
    (1)首先根据惯例剪切httpd-2.4.4.tar.bz2到/usr/local/src下,然后进行解压操作
    mv httpd-2.4.4.tar.bz2  /usr/local/src
    tar -xjvf  httpd-2.4.4.tar.bz2
    (2)编译安装httpd (以上没有问题,但这里会出现一下小问题,应该是参数有些没有的等等,逐个百度解决就行了,最后修改httpd.cnf端口那里就能访问了)
    cd httpd-2.4.4
    ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
    解释:
    --enable-so:支持动态共享模块,如果支持php将不能与apache一起工作。必须要有
    --enable-ssl:启用ssl功能,如果不启用将无法使用https
    --enable-mpms-shared=all:prefork、worker、event
    --with-mpm=event:event为默认
     --enable-rewrite:支持URL重写
    --enable-cgi :支持cgi
    --enable-cgid:httpd使用event或者worker得启用被线程方式访问
    --enable-modules=most :启用大多数模块
    --enable-mods-shared=most:启用大多数共享模块
    (3)setenforce 0 关掉selinux。(临时关闭)
    永久关闭 vim /etc/selinux/config

    二、后续操作
    1、启动httpd
    两种方法:第一种、/usr/local/apache/bin/apachectl start
    第二种方法:先修改http.pid文件位置打开配置文件增加一行
    vim /etc/httpd/httpd.conf    增加PidFile “/var/run/httpd.pid”

    为了启动httpd更加方便,
    #!/bin/bash
    #
    # httpd        Startup script for the Apache HTTP Server
    #
    # chkconfig: - 85 15
    # description: Apache is a World Wide Web server.  It is used to serve
    #      HTML files and CGI.
    # processname: httpd
    # config: /etc/httpd/conf/httpd.conf
    # config: /etc/sysconfig/httpd
    # pidfile: /var/run/httpd.pid


    # Source function library.
    . /etc/rc.d/init.d/functions


    if [ -f /etc/sysconfig/httpd ]; then
            . /etc/sysconfig/httpd
    fi


    # Start httpd in the C locale by default.
    HTTPD_LANG=${HTTPD_LANG-"C"}


    # This will prevent initlog from swallowing up a pass-phrase prompt if
    # mod_ssl needs a pass-phrase from the user.
    INITLOG_ARGS=""


    # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
    # with the thread-based "worker" MPM; BE WARNED that some modules may not
    # work correctly with a thread-based MPM; notably PHP will refuse to start.


    # Path to the apachectl script, server binary, and short-form for messages.
    apachectl=/usr/local/apache/bin/apachectl
    httpd=${HTTPD-/usr/local/apache/bin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/var/run/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
    RETVAL=0


    start() {
            echo -n $"Starting $prog: "
            LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && touch ${lockfile}
            return $RETVAL
    }


    stop() {
    echo -n $"Stopping $prog: "
    killproc -p ${pidfile} -d 10 $httpd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
    }
    reload() {
        echo -n $"Reloading $prog: "
        if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
            RETVAL=$?
            echo $"not reloading due to configuration syntax error"
            failure $"not reloading $httpd due to configuration syntax error"
        else
            killproc -p ${pidfile} $httpd -HUP
            RETVAL=$?
        fi
        echo
    }


    # See how we were called.
    case "$1" in
      start)
    start
    ;;
      stop)
    stop
    ;;
      status)
            status -p ${pidfile} $httpd
    RETVAL=$?
    ;;
      restart)
    stop
    start
    ;;
      condrestart)
    if [ -f ${pidfile} ] ; then
    stop
    start
    fi
    ;;
      reload)
            reload
    ;;
      graceful|help|configtest|fullstatus)
    $apachectl $@
    RETVAL=$?
    ;;
      *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
    exit 1
    esac


    exit $RETVAL
    将以上代码加入到vim /etc/init.d/httpd中
    而后为此脚本赋予执行权限:
     chmod +x /etc/rc.d/init.d/httpd
    加入服务列表:
     chkconfig --add httpd
    给3,5启动
    chkconfig --level  3,5 httpd on
    最后加路径
    将 export PATH=$PATH:/usr/local/apache/bin
    vim /etc/profile.d/httpd.sh完成后重新登录就可以了。推荐使用第二种方法

  • 相关阅读:
    .NET互操作技术杂谈
    VS2008 Remote Debug HOW TO
    Entity Framework一对多关系或一对一关系删除子对象的方法
    Associations in EF Code First: Part 1 – Introduction and Basic Concepts
    如何管理Entity Framework中得事务
    在asp.net mvc3中编译视图文件
    entity framework中对关系使用默认规则与配置
    使用Entity Framework时动态生成lamda表达式
    asp.net mvc 身份验证中返回绝对路径的ReturnUrl
    Entity Framework 事务处理SaveChanges(false)
  • 原文地址:https://www.cnblogs.com/weiyiyong/p/7637064.html
Copyright © 2020-2023  润新知