Apache是一款Web服务器软件,有多种产品,能够支持SSL技术,支持多个虚拟主机。它快速、可靠而且可经过简单的API扩充,将Perl/Python等解释器编译到服务器中。html
Apache的特色是简单、速度快、性能稳定,并可作代理服务器来使用。它能够在大多数计算机操做系统中运行,因为其跨平台和安全性被普遍使用。node
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,能够在大多数计算机操做系统中运行,因为其多平台和安全性被普遍使用,是最流行的Web服务器端软件之一。它快速、可靠而且可经过简单的API扩展,将Perl/Python等解释器编译到服务器中。 [2] linux
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,通过屡次修改,成为世界使用排名第一的Web服务器软件。c++
它能够运行在几乎全部普遍使用的计算机平台上。web
Apache源于NCSAhttpd服务器,通过屡次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,由于它是自由软件,因此不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特色是简单、速度快、性能稳定,并可作代理服务器来使用。apache
原本它只用于小型或试验Internet网络,后来逐步扩充到各类Unix系统中,尤为对Linux的支持至关完美。Apache有多种产品,能够支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,所以,在一个Apache Web站点扩容时,一般是增长服务器或扩充群集节点而不是增长处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上不少著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(能够运行在几乎全部的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。centos
Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上建立了Apache。缓存
Apacheweb服务器软件拥有如下特性:安全
Apache Server配置界面服务器
1.支持最新的HTTP/1.1通讯协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
思路
一、wget http的包
二、安装依赖项,pcre zlib-devel pcre-devel gcc gcc-c++ apr-util
三、解压httpd的包,tar,unzip
四、./configure --prefix=路径 --user=用户 --group=组,--with加组件名
5.echo $?
6.make && make install
7.进入你httpd的目录,把apachectl加入环境变量,并启动
八、关闭selinux及防火墙
九、测试,宿主机去访问,或者curl 127.0.0.1:端口
安装过程:
安装httpd两种方法(yum是最简单的,二选一安装就行 )
[root@httpd ~]# wget http://www.apache.org./dist/httpd/httpd-2.4.39.tar.gz [root@httpd ~]# yum install httpd -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包 httpd-2.4.6-90.el7.centos.x86_64 已安装而且是最新版本
无须任何处理
[root@httpd ~]# rpm -qa httpd
httpd-2.4.6-90.el7.centos.x86_64
顺便普及一下卸载命令
[root@httpd ~]# rpm -e(--nodebse) httpd [root@httpd ~]# rpm -qa httpd
安装依赖工具包,整理后的(后面报错涉及到得的安装包也都整理在了这里安装)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
yum install pcre -y
yum install pcre-config -y
yum install pcre-lib -y
yum install pcre-devel -y
yum install zlib-devel -y
yum install zlib zlib-level -y
yum install gcc gcc-c++ -y
解压及环境配置
[root@httpd ~]# ls httpd-2.4.39.tar.gz httpd-2.4.39.tar.gz [root@httpd ~]# ls httpd-2.4.39.tar.gz -l -rw-r--r-- 1 root root 9199150 9月 21 23:35 httpd-2.4.39.tar.gz [root@httpd ~]# tar xf httpd-2.4.39.tar.gz
tar -zxf apr-1.6.5.tar.gz cd apr-1.6.5 ./configure --prefix=/usr/local/apr make && make install
tar -zxf apr-upr-util-1.6.1.tar.gz cd apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config make && make install 出错:
解压文档后进入文档,输入如下内容
./configure \ --prefix=/application/apache2.4.39 \ --enable-deflate \ --enable-expires \ 缓存 --enable-headers \ 激活HTTP的头 --enable-modules=most \ --enable-so \ --with-mpm=worker \ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-rewrite
(若是还缺乏安装包,可直接进行yum 安装)
echo $? 0
检查没有错就进行make
配置变量环境
[root@localhost http]# echo "PATH=$PATH:/application/http/bin" >> /etc/profile [root@localhost http]# source /etc/profile [root@localhost http]# apachectl AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
关闭防火墙及 selinux
测试,成功
[root@localhost bin]# curl 127.0.0.1 <html><body><h1>It works!</h1></body></html>
1. 在编译apr-util-1.6.1中报错
1. 编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1 make[1]: 离开目录“/usr/local/apr-util-1.6.1” make: *** [all-recursive] 错误 1
解决:下载安装expat库 yum install expat-devel
2.安装httpd-2.4.39
报错:
make[2]: *** [htpasswd] 错误 1 make[2]: 离开目录“/root/httpd-2.4.39/support” make[1]: *** [all-recursive] 错误 1 make[1]: 离开目录“/root/httpd-2.4.39/support” make: *** [all-recursive] 错误 1
解决办法:
yum groupinstall "Development Tools" "Server Platform Development" -y yum install pcre-devel expat-devel -y cp -r /root/apr-1.6.5 /root/httpd-2.4.39/srclib/apr cd /root/apr-1.6.5 ./configure --prefix=/usr/local/apr make && make install cp -r /root/apr-util-1.6.1 /root/httpd-2.4.39/srclib/apr-util cd /root/apr-util-1.6.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install cd /root/httpd-2.4.39 ./configure --with-included-apr --prefix=/application/httpd2.4.39 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
3.解决最终 没法链接
检查网络链接是否正常
Ping www.baidu.com
检查防火墙和selinux是否关闭
systemctl stop iptables systemctl stop firewall systemctl stop firewalld getenforce
检查端口是否存在,或者是否开启
netstat -nlt|grep "80" (若是没有,去开起服务root@localhost httpd-2.4.39]# ./apachectl) [root@localhost httpd-2.4.39]# netstat -nlt|grep "80" tcp6 0 0 :::80 :::* LISTEN
检查进程是否存在
[root@localhost httpd-2.4.39]# ps -ef|grep http root 29855 1 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29856 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29857 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd daemon 29858 29855 0 22:13 ? 00:00:00 /application/http/bin/httpd root 30135 2800 0 23:54 pts/0 00:00:00 grep --color=auto http
在本地测试Wget是否成功
[root@localhost httpd-2.4.39]# wget 192.168.170.133 --2019-10-23 23:55:44-- http://192.168.170.133/ 正在链接 192.168.170.133:80... 已链接。 已发出 HTTP 请求,正在等待回应... 200 OK 长度:45 [text/html] 正在保存至: “index.html”
100%[===============>] 45 --.-K/s 用时 0s
2019-10-23 23:55:44 (5.88 MB/s) - 已保存 “index.html” [45/45])