Apache服务器安装

1、Apache服务器安装

在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包、deb包、已编译好的包。也可以简单的使用yum工具进行自动安装。当需要对apache进行定制时可以使用源代码安装方式,比如增加补丁、针对特定环境的优化、整合程序将apache与PHP、Mysql等编译到一起已提升性能等。

rpm安装方式:

rpm安装包下载地址:http://www.rpmfind.net 或 http://httpd.apache.org

1、查询rpm包信息:rpm -qip httpd-xxx.i386.rpm

2、安装:rpm -ivh httpd-xxx.i386.rpm

3、删除/卸载:rpm -e httpd-xxx.i386.rpm

yum自动安装方式:yum install httpd

windows下的安装方式:

下载apache的安装文件并解压到本地(下载地址:http://httpd.apache.org/docs/current/platform/windows.html#down),然后以管理员身份进入bin目录中执行如下命令进行安装:

D:\httpd-xxx\bin> httpd -k install 安装

源码编译安装方式:

1、在/var下新建一目录apache:mkdir /var/apache,并cd进入该目录

2、把http-2.0.55.tar.gz传输到该目录下

3、解压http-2.055.tar.gz:

方法:tar zxvf http-2.0.55.tar.gz------>http-2.0.55

或:gzip -d http-2.0.55.tar.gz------>http-2.0.55.tar

tar xvf http-2.0.55.tar---------->http-2.0.55

4、cd进入http-2.0.55中

5、开始检查:./configure (默认安装路径:/usr/local/apache2)

6、编译:make

7、安装:make install

8、清理安装环境:make clean

9、修改配置:用vi进入:vi  /usr/local/apache2/conf/httpd.conf (或/etc/httpd/conf/httpd.conf)

将#ServerName www.example.com:80 中的#删除并将www.example.com改为安装机上Linux的IP

带参编译的例子:

./configure --prefix=/usr/local/apache2  --enable-cache --enable-disk-cache -enable-mem-cache --enable-file-cache --with-ssl --enable-ssl --enable-so --enable-mime-magic --enable-mods-shared=most --with-mpm=worker

# --prefix= 指明编译后的二进制文件安装到目录,用实际安装路径替换,如--prefix=/usr/local/apache-2.2.15 ,如果省略此配置参数,默认安装到/usr/local/apache2目录。

# --enable-so 指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各功能模块可以与核心分开编译、运行时动态加载。有了DSO支持,升级和增加模块时只需编译相关的模块即可,不必重新编译整个系统。最新版本的Apache缺省编译此模块到httpd二进制文件,如果你在使用早期版本的apache并且需要DSO支持,可能要明确指出此选项。

# --enable-mods-shared= 明确指明要以DSO方式编译的模块,为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示包含大部分模块,如--enable-mods-share="rewrite deflate",--enable-mods-share=most,效果等同于多个--enable-=share。

# --with-mpm= 先择Apache多路处理模块,={beos|event|worker|prefork|mpmt_os2},prefork为Unix系统下默认处理模块,它将运行一个非线程型的、预派生的Web服务器,适合于没有线程安全库,需要避免线程兼容性问题的系统,它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。worker为支持混合的多线程多进程的多路处理模块,由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM,同时,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。如果你的系统是基于线程安全的,那么笔者建议使用worker替代prefork,它将使得你的系统得到实际的性能改善。

2、Apache服务器运行

使用不同的安装方式apache的启动方式和目录可能不一样,以yum安装方式为例,使用init.d下的httpd文件来控制apache服务器的启动,其他的配置文件、日志文件、模块文件处于/etc/httpd目录下。

检查https是否已启动(也可以查看Apache启动的进程数):ps -ef | grep httpd 或 netstat -an | grep 80 或 在IE中进入: http://IP 若能显示apache页面则安装成功

查看Apache的版本: /usr/local/apache2/bin/httpd -v

启动apache服务器:/etc/rc.d/init.d/httpd  start (或:/etc/init.d/httpd  start)

停止apache服务器:/etc/rc.d/init.d/httpd stop  (或:/etc/init.d/httpd  stop)

设为开机自动启动:chkconfig httpd on

其他用法: httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}  另外还可以配置apachectl文件到Linux的启动目录来自动启/停apache服务器:启动apache服务器: /usr/local/apache2/bin/apachectl start   若要停止服务: /usr/local/apache2/bin/apachectl stop

Windows系统中apache服务器的运行:

D:\httpd-xxx\bin> httpd -k start   启动Apache

D:\httpd-xxx\bin> httpd -k restart   重启Apache

D:\httpd-xxx\bin> httpd -k shutdown  关闭Apache

3、httpd命令行参数

httpd是Apache超文本传输协议(HTTP)服务器的主程序。 其设计目标是一个独立运行的后台进程, 按此目标运行时,它会建立一个处理请求的子进程或线程的池。httpd不应该是直接调用的,而是,在类Unix的系统中由apachectl调用,在Windows NT,2000和XP中作为一个服务运行,在Windows 9x和ME中以命令窗口程序运行。httpd一般在 /usr/local/apache2/bin/ 或 /usr/sbin/目录下

httpd [ -d serverroot ] [ -f config ] [ -C directive ] [ -c directive] [ -D parameter ] [ -e level ] [ -E file ] [ -k start|restart|graceful|stop ] [ -R directory ] [ -h ] [ -l ] [ -L ] [-S] [ -t ] [ -v ] [ -V ] [ -X ]

在Win32系统中, 还可以使用下列参数:httpd [ -k install|config|uninstall ] [ -n name ] [ -w ]

选项:

-d serverroot    为ServerRoot指令设置初始值为serverroot。它可以被配置文件中的ServerRoot指令所覆盖。其默认值是/usr/local/apache2.

-f config    在启动中使用config文件的指令。如果config不是以/开头的文件名, 则它是相对于ServerRoot的一个路径。其默认值是conf/httpd.conf.

-k start|restart|graceful|stop    发送信号使httpd启动、重新启动或停止。更多信息请参见停止Apache.

-C directive    在读取配置文件之前,先处理directive的配置。

-c directive    在读取配置文件之后,再处理directive的配置。

-D parameter    设置参数parameter ,它配合配置文件中的段,用于在服务器启动和重新启动时,有条件地跳过或处理某些命令。

-e level    在服务器启动时,设置LogLevel为level。它用于在启动时,临时增加出错信息的详细程度,以帮助排错。

-E file    将服务器启动过程中的出错信息发送到文件file。

-R directory    当在服务器编译中使用了SHARED_CORE规则时,它指定共享目标文件的目录为directory。

-h    输出一个可用的命令行选项的简要说明。

-l    输出一个编译在服务器中的模块的列表。它不会列出使用LoadModule指令动态加载的模块。

-L    输出一个指令的列表,并包含了各指令的有效参数和使用区域。

-S    显示从配置文件中读取并解析的设置结果(目前仅显示虚拟主机的设置).

-t    仅对配置文件执行语法检查。程序在语法解析检查结束后立即退出,或者返回0(Syntax OK),或责返回非0的值(Syntax Error)。如果还指定了-D DUMP_VHOSTS ,会显示虚拟主机配置的详细信息。

-v    显示httpd的版本,然后退出。

-V    显示httpd的版本和编译参数, 然后退出。

-X    以调试模式运行httpd。仅启动一个工作进程,并且服务器不与控制台脱离。

-T    在启动/重启的时候跳过根文件检查(2.2.17及以上版本有效)。

-M    输出一个已经启用的模块列表,包括静态编译在服务器中的模块和作为DSO动态加载的模块。

下列参数仅用于win32平台:

-k install|config|uninstall 安装Apache为一个Windows NT的服务; 改变Apache服务的启动方式; 删除Apache服务。

-n name 使Apache服务的名称为name。

-w 保持打开控制台窗口,使得可以阅读出错信息。

Apache服务器配置

1、apache模块

apache1.3以后开始使用DSO(动态共享对象)方式来加载模块。apache的模块分为三大类:

核心模块:apache基础服务模块,必须始终静态链接到apache内核,无法删除,提供的指令始终可用。(core、mpm等)

标准模块:作为apache的一部分,由apache基金会维护,但是可以安全的删除和加载。如要动态加载apache标准模块,则mod_so模块必须以静态连接方式编译到apache中,否则所有模块都无法加载。(mod_so等)

第三方模块:不作为apache的一部分,由普通用户维护

1)模块的安装

可以使用per脚本apxs来为apache服务器编译和安装模块,前提是mod_so模块已经静态连接编译到apache中(使用命令:./bin/httpd -M来确认)。当使用make命令来编译安装时其实是调用了apxs。

使用静态连接模块: 将模块直接编译到apache服务器中,而不是以DSO模块的方式。通过LoadModule指令在http.conf中加载 。:

./configure --enable-modules=most                       --将常用模块直接编译到apache中,而无需使用LoadModule指令加载,速度更快,但占用更多内存

使用动态连接模块:使用DSO使服务器具有更大的灵活性。节省了内存,单启动速度降低,开销不固定:

./configure --enable-mods-shared=most                 --将模块编译后以DSO方式使用,在http.conf中使用LoadModule指令加载,在apache启动时加载他们。

mod_so提供了两个重要指令

LoadModule:只能加载apache根目录(ServerRoot)下的模块,如:LoadModule ssl_module modules/mod_ssl.so

LoadFile:可以加载其他位置的模块,如:LoadFile /user/apache/libexec/libxmlparse.so

模块的加载顺序:DSO加载的顺序决定了apache使用他们处理url的顺序,DSO模块总是以最后加载的模块为优先进行处理,而第一个加载的模块最后处理。

以安装mod_perl模块为例:

二进制包安装:#apt-get install libapache2-mod-perl2 或:#yum -y install mod_perl

DSO方式安装:

#wget http:// perl.apache.org/dist/mod_perl-2.0.tar.gz --下载

#tar -zxvf mod_perl-2.0.tar.gz && cd mod_perl-2.0 --解压

#perl makefile.pl mp_apxs=/usr/local/apache2/bin/apxs --配置mod_perl并指定apache的apxs程序的位置。 或:#perl makefile.pl 按提示对http.conf作必要配置。

#make && make install --编译安装,安装完成后可以使用strip来清理调试程序

3.以静态方式安装:

#cd mod_perl-2.0

#perl makefile.pl mp_use_static= ...

#make && make install

2、apache配置说明

apache的最主要的配置方式就是配置http.conf就可以了。apache配置指令分为两大类,一类是核心模块的提供的核心指令,一类是标准模块和第三方模块提供的指令。每一个指令都对应一个模块,最重要的模块有:core_module、so_module、http_module和mpm,除so_module以外其三种都不可禁止或关掉。apache的ServerRoot/conf目录下:

httpd.conf:apache的主要配置文件,定义了apache的一些基本配置以及对其他配置文件的引用。

magic:mod_mime_magic模块的配置文件。

mime.type:用来定义MIME类型

extra目录:存放apache所需要引用的配置(dav、ssl的配置等)

original目录:以上所有文件和目录原始状态的备份

httpd.conf文件可分为三部分:

主服务器部分:主要是通过核心指令来定义服务器的功能和参数,在整个apache配置中都起作用,如:使用loadmodule加载模块、servername定义主机名和监听等。

容器环境部分:以开头,容器名>结束的样式来对指令进行封装

服务器扩展部分:通过Include指令来加载其他参数

1)主服务器部分主要指令:

ServerName:定义apache默认主机名

ServerRoot:定义服务器所在目录

DcumentRoot:指定apache提供页面服务的根目录

ServerAdmin:定义服务器出现错误后提示给客户端的管理员邮件地址

ServerAlias和Alias:用于实现映射目录的功能,ServerAlias将映射的目录识别为CGI脚本目录,将该目录下的所有文件当CGI脚本对待;而Alias并没有映射识别为脚本的功能。

User与Group定于运行apache服务器的账号和工作组

Listen:定义apache监听的端口号,默认是80

LoadModule:用于加载模板或目标文件

ErrorDocument:定义错误码对应的错误信息

Options:决定在哪些目录中使用哪些服务器的特性

2)容器部分主要指令:

容器:根据模块是否载入决定是否执行容器中的指令,容器中可以嵌套容器。

容器:作用与类似,需要在httpd启动时加上特定的参数(httpd -D Proxy)才能起作用。

容器:作用是让他所封装的指令在指定的目录以及它的子目录中起作用,可以使用通配符和正则表达式。

:作用与类似,区别是使用正则表达式无需加“~”

容器:作用于文件,以使用通配符和正则表达式。

:作用与类似,区别是使用正则表达式无需加“~”

和:对URL进行访问控制

3)服务器扩展部分主要指令:

apache的ServerRoot/conf目录下的extra目录用来存放apache其他模块的配置文件,它们都是通过include指令来加载。

apache扩展配置文件:

.htaccess文件:

注意:配置了httpd.conf文件后需要重新启动httpd后配置才会生效!

3、apache相关工具

1)Apache GUI配置工具:Webmin、Zecos ApacheConf、redhat-config-httpd

2)Apache日志分析工具:Webalizer、Awstats、Windwos服务器安全分析系统

Apache服务器安装配置(win版)

登录http://httpd.apache.org/download.cgi 这个地址,找到2.4.10,如下图位置: 2 进入如下界面后,选择第一项ApacheHaus,这是个第三方下载平台,在它的 ...

apache服务器安装以及使用passenger插件部署rails应用

小例子可以部署在rails自带的WEBrick上,逐渐往后走还得上Apache. 安装apache服务器 命令是sudo apt-get install apache2 安装passenger插件 安 ...

Windows服务器安装配置PHP7.0环境图文教程

摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...

CentOS下Redis服务器安装配置

说明: 操作系统:CentOS 1.安装编译工具 yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...

Apache服务器安装SSL证书

Apache服务器安装SSL证书 在证书控制台下载Apache版本证书,下载到本地的是一个压缩文件,解压后里面包含_public.crt文件是证书文件,_chain.crt是证书链(中间证书)文件,. ...

【只需3步】源码手动安装Apache以及配置(亲测可行)

作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...

centos apache svn配置

单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...

Apache+PHP 配置随笔

准备安装包 1:安装VC++ 2012(vcredist_x64,我这边服务器为64位) 2:Apache安装包,php安装包 安装后配置工作 1:安装Apache服务,配置环境变量 httpd -k ...

Linux下Redis服务器安装配置

说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

随机推荐

单线程模型中Message、Handler、Message Queue、Looper之间的关系

1. Android进程 在了解Android线程之前得先了解一下Android的进程.当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程.默认的情况下,所有该程序的组件都 ...

HDU 5890 Eighty seven

预处理,$01$背包,$bitset$优化. 可以预处理出每一种询问的答案,用$01$背包计算答案,$dp[i][j][k]$表示,前$i$个数字中,选择了$j$个,能否凑出$k$这个数字,可以开成$ ...

SQL随记(五)——函数篇

1.SQL函数: (1)replace(String1,String2,String3):从String1字符串中找到String2,然后用String3替换String2 如:replace('ab ...

18.python关于mysql的api

一.pymysql模块1.pymysql是Python中操作MySQL的模块2.执行sql语句(1)连接数据库: import pymysql #连接mysql数据库创建conn对象(host连接的机 ...

435. Non-overlapping Intervals

Given a collection of intervals, find the minimum number of intervals you need to remove to make the ...

【oauth2.0】【2】JAVA 客户端模式

含义:用户直接向客户端注册,客户端以自己的名义要求"服务提供商"提供服务,其实不存在授权问题 步骤: (A)客户端向认证服务器进行身份认证,并要求一个访问令牌(token). (B ...

vlookup返回多个结果

http://www.360doc.com/content/12/1021/15/7665211_242782107.shtml =IFERROR(VLOOKUP(D2&ROW(A1),IF( ...

Java定时器和Quartz使用

一.Java普通自定义定时器 /** * 自定义一个定时器 * @author lw */ public class MyTimer extends Thread{ private Long time ...

VMWare windows找不到microsoft软件许可条款

提示如下错误: windows找不到microsoft软件许可条款.请确保安装源有效,然后重新启动安装. 解决方案: 把该虚拟机中的系统硬件配置中的软盘去掉. 程序员的基础教程:菜鸟程序员

显示并解析动态服务器值,Apache服务器安装配置相关推荐

  1. 动态服务器值 回放报错 没有关联到_性能测试每天两个知识点-web性能脚本回放不成功的解决方法...

    性能测试过程中,绝大部分项目都是web项目的性能测试,而对于大部分性能测试人员认为web项目就是录制脚本,然后修改脚本回放,所有好多人认为性能测试没有难度就是录脚本 ,其实好多性能测试人员也没搞清楚录 ...

  2. ae显示不能稳定链接服务器,ae正在连接到动态链接服务器

    ae正在连接到动态链接服务器 内容精选 换一换 存储单元是在后端存储空间上划分的存储用户备份数据的基础存储单元.后端存储空间映射成功后,必须创建存储单元后才能使用.本节介绍如何将混合云备份存储库接入到 ...

  3. 安装群晖显示服务器忙,云服务器安装群晖

    云服务器安装群晖 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 登录Windo ...

  4. EasyExcel解析动态表头及导出

    前言 excel文件导入及导出,是日常开发中经常遇到的需求.本次笔者以EasyExcel为例,针对在项目中遇到的动态表头解析及导出的场景,详细介绍具体的代码实现过程. 参考地址 https://git ...

  5. CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器实时同步 | 分离解析 | 排错思路及方案 | 超详细

    CenOS7 运维 - DNS域名解析服务 一.DNS系统的作用 二.域名的结构 根域 顶级域 二级域 子域 主机 三.DNS服务器类型 ►主域名服务器 ►从域名服务器 ►缓存域名服务器 ►转发域名服 ...

  6. 页面动态显示服务器,动态服务器页面应用

    动态服务器页面应用 内容精选 换一换 您已经完成了游戏应用的部署.节点和应用运行过程中会产生费用,建议您参照本章节创建应用后,删除应用和节点,避免费用产生.登录CCE控制台.单击左侧导航栏的工作负载 ...

  7. Linux下Apache Web服务器的安装与配置

    1.Apache Web服务器简述     Web服务是目前Internet应用最流行.最受欢迎的服务之一,Linux平台使用最广泛的Web服务器是Apache,它是目前性能最优秀.最稳定的Web服务 ...

  8. ftp 服务器 显示未登录,ftp 服务器 显示未登录

    ftp 服务器 显示未登录 内容精选 换一换 如果普通远程连接软件(如PuTTY)无法使用,您可以通过管理控制台的"远程登录"连接裸金属服务器实例,查看服务器操作界面.仅Linux ...

  9. [知识图谱实战篇] 六.HTML+D3实现点击节点显示相关属性及属性值

    前面作者讲解了很多知识图谱原理知识,包括知识图谱相关技术.Neo4j绘制关系图谱等,但仍缺少一个系统全面的实例.为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者深入学习了张宏 ...

最新文章

  1. java绘等高线图_Matplotlib中的极坐标等高线图
  2. java在线书城系统_二手书城系统 本设计为基于JAVA的网上书店系统 - 下载 - 搜珍网...
  3. Android --- 选项卡背景样式,左侧边有颜色
  4. 集合的交集和函数的例题
  5. MVC5+EF6 入门完整教程 总目录
  6. python基础语法-对目录(文件夹)的操作
  7. Exchange 邮件投递被拒的问题分析
  8. 中芯国际第二代FinFET工艺有望与2020年底试产
  9. LeetCode Range Sum Query Immutable
  10. 网络编程与分层协议设计:基于linux平台实现,网络编程与分层协议设计:基于Linux平台实现...
  11. webpack2终极优化
  12. 漫谈 Clustering (追忆篇): Regularized GMM
  13. Cisco交换机密码修复
  14. 北鲲云超算平台助力国产芯片设计
  15. 苹果电脑基于Android File Transfer for mac连接Android设备
  16. Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?
  17. envato elements国外设计网站素材代服务包月包年VIP高速下载
  18. ssm毕设项目快递代收系统00pay(java+VUE+Mybatis+Maven+Mysql+sprnig)
  19. 微信登录实现-Android
  20. Python里的pygame游戏安装环境

热门文章

  1. mysql查询表列名
  2. Linux基础知识与命令
  3. python hog特征提取_HOG图像特征提取算法
  4. 01.02 Spring IOC
  5. c语言查询日期应用程序,C语言时间操作
  6. RAID6 Vs RAID-DP比较
  7. python画曲线的趋势线_python - 在时间序列图中添加趋势线 - SO中文参考 - www.soinside.com...
  8. 如何训练Tesseract 4.0
  9. 2019年哪些手机值得期待?
  10. 最难毕业季,会Python简直可以开挂