Centos7.4安装Apache2.4.23详细步骤

(yankerp-你不努力,未来没人替你买单!)


一、安装apache2.4.23
Apache官网:http://www.apache.org/
apache2.4新功能概述:

运行时可加载MPM

现在可以在编译时将多个MPM 构建为可加载模块。选择的MPM可以在运行时通过LoadModule指令进行配置。

事件MPM
该事件MPM的实验阶段,但现在完全支持。

异步支持
更好地支持异步读/写以支持MPM和平台。

每个模块和每个目录的LogLevel配置
在LogLevel现在可以按模块和每目录配置。新的水平trace1 ,以trace8已经在上面添加debug日志级别。
每请求配置部分
<If>, <ElseIf>和<Else> 段可以用来设置基于每个请求标准的配置。
通用表达式解析器
一个新的表达式分析器允许指定 复合物的条件在像指示使用共同的语法 SetEnvIfExpr, RewriteCond, Header, <If>,和其他。
KeepAliveTimeout以毫秒为单位
现在可以指定KeepAliveTimeout以毫秒为单位。
NameVirtualHost指令
不再需要,现已被弃用。
覆盖配置
新AllowOverrideList 指令允许更精细的控制.htaccess文件中允许的指令。
配置文件变量
现在Define ,配置中的变量是可能的,如果在配置中的许多地方使用相同的值,则允许更清楚的表示。
减少内存使用量
尽管有许多新功能,2.4.x往往比2.2.x使用更少的内存。

apache2.4新模块

mod_proxy_fcgi
FastCGI协议后端 mod_proxy
mod_proxy_scgi
SCGI协议后端为 mod_proxy
mod_proxy_express
提供动态配置的质量反向代理 mod_proxy
mod_remoteip
用代理或负载均衡器通过请求头提交的IP地址列表替换请求的明显客户端远程IP地址和主机名。
mod_heartmonitor, mod_lbmethod_heartbeat
允许mod_proxy_balancer基于后端服务器上活动连接的数量进行负载平衡决策。
mod_proxy_html
以前是第三方模块,它支持在反向代理情况下修复HTML链接,后端生成对代理客户端无效的URL。
mod_sed
一个先进的替代mod_substitute,允许编辑与sed的全部力量的响应身体。
mod_auth_form
启用基于表单的身份验证。
mod_session
为客户端启用会话状态,使用cookie或数据库存储。
mod_allowmethods
新的模块来限制某些HTTP方法,而不会干扰认证或授权。
mod_lua
将Lua语言嵌入到httpd中,用于配置和小型业务逻辑功能。(实验)
mod_log_debug
允许在请求处理的不同阶段添加可定制的调试日志记录。
mod_buffer
提供缓冲输入和输出过滤器堆栈
mod_data
将响应正文转换为RFC2397数据URL
mod_ratelimit
为客户端提供带宽限制
mod_request
提供过滤器来处理和提供HTTP请求体
mod_reflector
通过输出过滤器堆栈提供对请求体的反射作为响应。
mod_slotmem_shm
提供基于槽的共享内存提供程序(ala记分板)。
mod_xml2enc
以前是第三方模块,它支持基于libxml2(标记感知)过滤器模块的国际化。
mod_macro (从2.4.5开始可用)
在配置文件中提供宏。
mod_proxy_wstunnel (从2.4.5开始可用)
支持网络套接字隧道。
mod_authnz_fcgi (从2.4.10开始可用)
启用FastCGI授权人应用程序来验证和/或授权客户端。
mod_http2 (自2.4.17起可用)
支持HTTP / 2传输层。
mod_proxy_hcheck (自2.4.21起可用)

支持远程proxiy后端服务器的独立动态健康检查


正式安装Apache2.4 操作系统:Centos7.4,(需要关闭Selinux)
1.在每安装一个服务都要养成查看是否安装,如果安装则需要卸载:

#[root@yankerp ~]# rpm -qa | grep httpd
以下是如果之前系统已经安装httpd卸载方法:



2.安装apache2.4.23 (是编译安装那么就会需要用到源码包)在安装apache2.4.23需要的源码包如下:
httpd-2.4.23.tar.gz apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz zlib-1.2.8.tar.gz pcre-8.39.tar.gz
以上包中apr是可移植的运行库,它是一个对操作系统调用的抽象库,用来实现apache内部组件对系统的使用,提高系统的可移植性,pcre zlib想必大家都很了解,这里不在概述。


1)下载安装apr和apr-util 在安装之前这些包我已经下载好了,同时大家可以使用以下链接来进行下载

apr官网地址http://apr.apache.org/download.cgi

#[root@yankerp ~]# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz


安装:

# tar zxf apr-1.5.2.tar.gz 
[root@yankerp ~]# cd apr-1.5.2/
[root@yankerp apr-1.5.2]# ./configure --prefix=/usr/local/apr && make && make install

如果出现了以上情况,需要安装gcc编译器。。。

# yum install gcc gcc-c++ -y

再次安装:


安装结束后使用echo $?来判断以上操作是否又报错,非0则不成功,若没有继续安装下一个包



2)安装apr-util(安装的方法和上边安装apr都是一样的) 最后make && make install

# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz


2.安装zlib
zlib官网:http://www.zlib.net/

# wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
tar zxf zlib-1.2.8.tar.gz 
[root@yankerp ~]# cd zlib-1.2.8/
[root@yankerp zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install


3.安装pcre
pcre官网:https://ftp.pcre.org/
# wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz



4.安装openssl(在安装apache2.4中它会提示openssl版本过于低,所以需要安装openssl)
openssl官网:https://www.openssl.org/

#wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz

make && make install


安装完的调整

#mv /usr/bin/openssl /usr/bin/openssl.1.0.1e
[root@yankerp openssl-1.0.1u]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

5.以上操作都是为apache2.4准备的,接下来正式安装apache2.4
#tar zxf httpd-2.4.23.tar.gz
cd httpd-2.4.23/

make && make install
参数解释:
./configure --prefix=/usr/local/http-2.4.23 //指定apache的安装路径
--enable-so //这个是支持动态共享模块
--enable-rewrite //支持URL重写
--enable-ssl //支持ssl
--with-ssl=/usr/local/openssl //这个是指定openssl的安装位置
--enable-cgi //启用cgi
--enable-modules=most 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all 启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event 指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/usr/local/pcre 支持 pcre
--with-z=/usr/local/zlib 使用 zlib 压缩库
--with-apr=/usr/local/apr 指定 apr 的安装路径
--with-apr-util=/usr/local/apr-util 指定 apr-util 的安装路径
--enable-expires:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓
存的设置。这个是 apache 调优的一个重要选项之一。
--enable-deflate:提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优的一个重要选项之一

到这里必须要知道Apache的三种工作模式:event,worker,prefork !!!


在make && make install完成之后我们一定要echo $?来确保安装没过程中没有错误


此时我们的apache2.4已经正式的安装成功!!!


6.优化http程序执行路径

# ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/
修改配置文件设置ServerName
我们在安装apache的时候安装路径指定到了/usr/local/http2.4下面,我们进去http的安装位置查看有什么目录。


我们看到了一个conf目录,也就是说这个目录下面存放的就是我们apache的主配置文件,httpd.conf(修改servername)



7.开启apache服务



设置apache为开机自启动

#cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd
sed -i '1a # chkconfig: 35 85 21' /etc/init.d/httpd 
sed -i '2a # description: apache 2.4.23' /etc/init.d/httpd 


添加为系统服务并自启动



修改网页根目录,client访问测试


以下是apache网页根目录(我们可以在里面更改想要的内容)



注意:如果做到这里httpd已经启动但是无法访问可能造成原因有以下几种:
1.清除浏览器缓存后再次访问。
2.没有关闭selinux会出现访问不到的情况
3.没有关闭防火墙,则需要添加80端口,或者可以选择关闭防火墙


2017年倒计时。。。 希望对您有所帮助,后续继续更新,再见~~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor&#160;1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep &#39;Time zone&#39;查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=&quot;static&quot; ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// &lt;summary&gt; /// 取小写文件名后缀 /// &lt;/summary&gt; /// &lt;param name=&quot;name&quot;&gt;文件名&lt;/param&gt; /// &lt;returns&gt;返回小写后缀,不带“.”&lt;/ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start &amp; nohup ./kibana &amp;
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的&#160;Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程,&#160;ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属