• 编译安装apache


    1.安装依赖库:“Development  Tools”  “Server Platform Development”  pcre-devel

    2.安装apr,apr-util

      从yum源安装或去apr网站下载安装包,这是采用编译安装。

      安装apr:

      cd apr

      ./configure --prefix=/usr/local/apr 

      安装apr-util:

      cd apr-util

      ./configure --prefilx=/usr/local/apr-util  --with-apr=/usr/local/apr

    3.安装apache

      ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-ssl --enable-so --enable-rewrite --enable-zlib --enable-pcre  --enable-cache --enable-cache-disk  --enable-cgi --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

    4.修改httpd的主配置文件,设置其Pid文件的路径

      在httpd.conf文件中添加如下行:

      PidFile “/var/run/httpd.pid”

    5.添加环境变量

     vim /etc/profile.d/httpd.sh

     export PATH=/usr/loca/apache/bin:$PATH

    6.

    提供SysV服务脚本/etc/rc.d/init.d/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

    而后为此脚本赋予执行权限:
    # chmod +x /etc/rc.d/init.d/httpd

    加入服务列表:
    # chkconfig --add httpd

  • 相关阅读:
    使用Putty和Xshell远程登录之密钥认证
    保护SSH的三把锁
    C++11_shared_ptr
    C++11_ tuple
    C++11_ 右值引用
    C++11_ Variadic Templates
    C++11_ Lambda
    C++11_新语法
    MoreEffectiveC++Item35 条款27: 要求或禁止对象产生于heap中
    MoreEffectiveC++Item35 条款26: 限制某个class所能产生的对象个数
  • 原文地址:https://www.cnblogs.com/yangxiaolan/p/4990039.html
Copyright © 2020-2023  润新知