Apache Http Server

Posted 秋夜雨巷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Http Server相关的知识,希望对你有一定的参考价值。

简介

Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其具有的跨平台性和安全性,被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,可以创建一个每天有数百万人访问的Web服务器。

Apache和Tomcat区别

Apache侧重于HTTPServer ;Tomcat侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页比不上Apache;

Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。

总结:

Apache不支持动态页面,Apche可以支持phpcgiperl,但是要使用Java的话,需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。

YUM安装

官网:http://httpd.apache.org/

环境:CentOS Linux release 7.7.1908 (命令:lsb_release -a)

卸载apache已安装的软件包

查看系统中已安装的所有apache软件包列表

rpm -qa |grep httpd

卸载软件包

从下往上一个一个地卸载,如果用户的权限不能进行卸载此软件,可以在命令前面加sudo(sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具)。

rpm -e --nodeps httpd 

-e卸载(erase),--nodeps是指卸载软件时,忽略依赖关系(do not verify package dependencies)。卸载时不一定要写软件包的全称,只要写软件包名就可以了,如只要写httpd或httpd-tools

安装apache(yum源安装)

安装Apache

yum install httpd

如果提示无法获取包,要更改yum仓库地址

启动

service httpd start

配置端口

vi /etc/httpd/conf/httpd.conf

配置文件语法检查

httpd -t

检查httpd.conf是否正确

开机自启动

chkconfig httpd on

文件手动安装

官网:http://httpd.apache.org/download.cgi

Apache http server 须要依赖 apr、pcre、apr-util,所以要先下载和安装这三个东东。(apr-util和pcre又依赖apr,所以要先安装apr)

载apr、apr-util、pcre、Apache httpserver

官网地址

apr/apr-util: http://apr.apache.org/download.cgi

pcre: http://www.pcre.org/

apache http server: http://httpd.apache.org/download.cgi#apache24

下载好后,上传到服务器/usr/source下面

解压文件

解压apr : tar -vxf apr-1.5.0.tar.gz(在source文件夹下会多出一个文件夹apr-1.5.0)

解压pcre : tar -vxf pcre-8.33.tar.gz(在source文件夹下会多出一个文件夹pcre-8.33)

解压apr-util : tar -vxf apr-util-1.5.3.tar.gz(在source文件夹下会多出一个文件夹apr-util-1.5.3)

解压Apache http server:tar -vxf httpd-2.4.9.tar.gz(在source文件夹下会多出一个文件夹httpd-2.4.9)

解压完后如图

安装apr

如果configure不配置--prefix,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share

cd /usr/source/apr-1.5.0
./configure --prefix=/usr/apr    #配置安装路径
make #编译 make install #安装

安装apr-util

cd /usr/source/apr-util-1.5.3
./configure --prefix=/usr/apr-util --with-apr=/usr/apr/bin/apr-1-config   #配置安装文件,指定安装路径为绝对路径。且须要依赖apr
make    #编译
make install    #安装

安装pcre

cd /usr/source/pcre-8.33
./configure --prefix=/usr/pcre-8.33 --with-apr=/usr/apr/bin/apr-1-config    #配置安装路径并依赖apr
make    #编译
make install    #安装

安装Apache http server

cd /usr/source/httpd-2.4.9./configure --prefix=/usr/httpd --with-apr=/usr/apr/bin/apr-1-config --with-apr-util=/usr/apr-util/bin/apu-1-config --with-pcre=/usr/pcre-8.33/bin/pcre-config
 #配置安装文件,指定安装路径为绝对路径;且须要依赖apr/apr-util/pcre。否则将会出错
make   #编译
make install    #安装

修改配置文件

vi /usr/source/httpd-2.4.9/conf/httpd.conf

找到ServerName,修改为

ServerName localhost:80

启动

在/usr/httpd/bin目录下执行

./apachectl restart

如果出现下图情况

 

查询下端口是否被占用

netstat -tunlp|grep 80

发现被nginx占用

修改端口,vi /usr/source/httpd-2.4.9/conf/httpd.conf

把httpd.conf  中Listen 80 改成Listen 81
把ServerName localhost:80 改成了 ServerName localhost:81

重新启动,成功

YUM安装文件位置

1)配置文件默认在 /etc/httpd 目录下

/etc/httpd/conf.d:设定apache的参数信息,里面的文件应以xxx.conf结尾的文件,当apache启动的时候,这个文件会自动被读入到主要配置文件当中;

/etc/httpd/modules:存放httpd的模块

/etc/httpd/log:记录apache的所有的日志

进入cd conf目录,/etc/httpd/conf/httpd.conf:配置Apache主要权限和功能的文件,是最重要的配置文件

2)etc/init.d/httpd :启动文件

3)存放网页的文件默认在/var/www 目录下

/var/www/html:首页文件存放的目录(/etc/httpd/conf/httpd.conf中默认的目录 DocumentRoot=/var/www/html)

/var/www/error:错误信息处理的文件(主机设置错误或者浏览器客户端要求的数据错误,浏览器上显示的错误信息)

/var/www/icons:存放(apache、tomcat)网页的图片

/var/www/cgi-bin:  存放可执行的CGI(网页程序)程序

4)/var/log/httpd/access_log:默认访问Apache日志文件

5)/var/log/httpd/error_log:错误日志文件

6)/usr/sbin/apachectl:这个apachectl是文件,是apache的主要执行文件,它可以主动检测系统上的一些设置值,可以使启动apache时更简单,相当于apache 的一些管理工具

7)/usr/bin/htpasswd:登陆网页的时候,会提示输入账号和密码,而apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个指令实现的。

 

————————————————
参考:

https://blog.csdn.net/qq_24394093/article/details/90550134

https://www.cnblogs.com/ldxsuanfa/p/9979254.html

 

以上是关于Apache Http Server的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft SQL Server 代码片段收集

缺少 SQL SERVER 2014 代码片段

如何使用 Apache 2.4.23 在 CentOs Server 中实现 http2 (h2)?

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

在 Apache HTTP Server 2.2 中设置 X-FRAME-OPTIONS 时出错

Apache Http Server和Tomcat 之区别