• Apache HTTP Server 2.2.34安装


    Windows
    下载
    安装方式有自己编译源码和下载别人编译好的,这里选择从第三方下载,官网地址http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/binaries/win32提供了几个第三方。下载后是个压缩包,我解压后的放在D:developjava unhttpd-2.2.34-win64下,该目录下包含bin、conf、htdocs、lib等目录及文件。
     
    安装服务
    Apache HTTP Server提供了一个实用工具Apache Service Monitor,为了使用这个工具管理,首先安装Apache HTTP Server服务。
    在Apache安装目录的bin子目录下,使用httpd -k install命令将Apache HTTP Server安装为Windows NT服务。当在同一机器上安装多个Apache服务时,必须为它们指定不同的名字,使用httpd.exe -k install -n "MyServiceName" 命令。默认配置文件是在 confhttpd.conf,如果需要指定自定义配置文件路径,使用httpd.exe -k install -n "MyServiceName" -f "c:filesmy.conf"命令。打开httpd.conf,设置 ServerRoot 为本机安装目录"D:/develop/java/run/httpd-2.2.34-win64",设置ServerName 为本机域名或者ip地址。
    httpd.exe -k uninstall移除默认Apache HTTP Server服务。httpd.exe -k uninstall -n "MyServiceName" 移除指定的Apache HTTP Server服务。
     
    启动和停止
    通常,启动、重启、关闭Apache HTTP Server服务的方法是使用Apache Service Monitor工具,另外也可以使用控制台命令NET START 服务名和 NET STOP 服务名。开机启动要在services.msc 中找到上面安装的服务后配置。
    在启动Apache HTTP Server服务之前,应当使用httpd.exe -n "MyServiceName" -t 命令检查一下配置文件的正确性,如果提示Syntax OK,代表安装成功。httpd.exe也可以用来启动和停止服务,启动命令是 httpd.exe -k start -n "MyServiceName"。停止命令是 httpd.exe -k stop -n "MyServiceName"或者httpd.exe -k shutdown -n "MyServiceName"。重启命令是 httpd.exe -k restart -n "MyServiceName"。
     
    Linux
    编译和安装
    静态编译是指在编译的时候会直接整合到可执行文件中,所以静态编译成的文件会比较大。优点是编译成功的可执行文件已经包含了某些功能,启动的时候那些功能就加载进来了,而不再需要向外部读取。缺点是文件体积大,升级难易大,如果那些功能要更新,则需要重新编译。
    动态编译的时候,在可执行文件里只有一个“指向”的位置而已,也就是说当可执行文件需要使用到某些功能时,可执行文件才会去外部读取。优势是缩小了文件体积,加快了编译速度,缺点是要附带一个动态链接库才能运行。
    Apache HTTP Server的核心思想就是模块化,将不同的功能抽成模块,当我们需要某个功能的时候,加载对应的模块就可以了,LoadModule指令用来加载动态编译的模块。动态编译即在编译的时候,通过使用--enable-mods-shared=[module list] 或者--enable-[module]=shared参数来指定哪些/哪个【module】是动态编译的。--enable-modules=[module list]或者--enable-[module]=static参数来指定哪些/哪个【module】是静态编译的。如果不加参数,默认是静态编译。
    到官网下载源码压缩包,如图
    使用root用户安装。打开终端,输入tar -zxvf httpd-2.2.34.tar.gz 命令解压缩到当前目录,输入 cd httpd-2.2.34/ 进入解压缩后的目录。当前目录下的configure是可执行文件,可以检查当前是否具有安装软件所需的文件和工具,可以不带参数执行。如果需要知道哪些参数可用,那么执行./configure --help查看帮助文档。Apache HTTP Server的模块分为基本模块、扩展模块、实验模块,--enable-mods-shared=all会安装所有的基本模块,但是扩展模块和实验模块需要明确指定才能安装。如果要安装所有模块,可以执行 ./configure --with-ldap --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache"。--prefix用于指定安装目录。执行configure时如果都符合要求,那么会在当前目录生成Makefile文件。如果出现错误那么就搜索下解决办法。最后执行make和make install即可完成安装。
    总结下命令:
    1.tar -zxvf httpd-2.2.34.tar.gz
    2.cd httpd-2.2.34/
    3../configure --with-ldap --enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache file_cache authnz_ldap charset_lite dav_lock disk_cache" --prefix=/usr/local/httpd-2.2.34/ --with-mpm=worker
    4.make
    5.make install
    安装完成后,执行安装目录/bin/apachectl -M,可以查看所有模块并显示是静态还是动态编译。
     
    配置服务
    sysvinit
    vim /etc/rc.d/init.d/httpd,输入以下内容:
    #!/bin/sh
    # description: Apache auto start-stop script.
    # chkconfig: 35 70 30
    APACHE_HOME=/usr/local/httpd-2.2.34
    APACHE_OWNER=test
    if test ! -f "$APACHE_HOME/bin/apachectl"
    then
    echo "Apache httpd startup: cannot start"
    exit
    fi
    case "$1" in
    'start')
    su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl start"
    ;;
    'stop')
    su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl stop"
    ;;
    'restart')
    su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl restart"
    ;;
    esac
    35代表在3和5运行级别下开机启动,70代表启动时脚本的执行顺序,30代表关闭时脚本的执行顺序。服务将由test用户运行。
     
    让所有用户可以执行这个服务:chmod a+x /etc/rc.d/init.d/httpd
    添加httpd服务:chkconfig --add httpd
    查看httpd服务:chkconfig --list httpd
    开启httpd服务:service httpd start
    关闭httpd服务:service httpd stop
    重启httpd服务:service httpd restart
     
    如何卸载?
    1.service httpd stop停止服务
    2.chkconfig --del httpd删除服务
    3.删除/etc/rc.d/init.d/httpd文件
    4.删除/usr/local/httpd-2.2.34/目录
     
  • 相关阅读:
    Pig Latin-freecodecamp算法题目
    Search and Replace -freecodecamp算法题目
    Where art thou-freecodecamp算法题目
    Roman Numeral Converter-freecodecamp算法题目
    Diff Two Arrays-freecodecamp算法题目
    Asp.Net前台调用后台变量
    ASP.NET获取前端页面的Html标签的值
    echart 设置图例图标形状
    解决tableexport导出到excel中有关中文乱码的问题
    C# Async与Await用法
  • 原文地址:https://www.cnblogs.com/gjb724332682/p/8610661.html
Copyright © 2020-2023  润新知