阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS编译安装Apache 2.4.7

93次阅读
没有评论

共计 3107 个字符,预计需要花费 8 分钟才能阅读完成。

学习 Linux 服务器,编译最新的 Apache 2.4.7 服务器,服务器是 CentOS。

Centos 编译安装 Apache 2.4 准备:
yum groupinstall “Development tools”

之前服务器是 yum install httpd 安装的 Apache,所以可能解决了部分依赖关系,在我编译安装的过程中,只需要再格外 yum 两个 devel 包:
yum install zlib-devel pcre-devel

从官方下载:下载到 /usr/local/src/
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.7.tar.gz
wget http://apache.dataguru.cn/apr/apr-1.5.0.tar.gz
wget http://apache.dataguru.cn/apr/apr-util-1.5.3.tar.gz

解压缩:
tar -xvf httpd-2.4.7.tar.gz
tar -xvf apr-1.5.0.tar.gz
tar -xvf apr-util-1.5.3.tar.gz

一点文件操作:
mv apr-1.5.0 httpd-2.4.7/srclib/apr
mv apr-util-1.5.3 httpd-2.4.6/srclib/apr-util
cd httpd-2.4.7

编译命令:
./configure –with-included-apr –enable-nonportable-atomics=yes –with-z

出奇的简单,因为默认就有 –enable-mods-shared=most,模块化安装,以后自行到 httpd.conf 中决定是否开启模块,所以什么 –enable-deflate –enable-rewrite –enable-blablabla 等就完全不必要了。

默认安装的是 event mpm,如果要用 worker,就需要 –with-mpm=worker,或者干脆 –enable-mpms-shared=all,这样 event、worker、prefork 就会以模块化的方式安装,要用哪个就在 httpd.conf 里配置就好了。

编译完成后:
make
make install

安装完毕后,所有的东西都在 /usr/local/apache2 这个目录下,最重要的当属 conf/httpd.conf,自行配置吧。

加载模块上,我尽可能的做了精简,仅开启如下:
必须:
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so

设置超时:
LoadModule reqtimeout_module modules/mod_reqtimeout.so

以下三个都是为了配合 Google mod_pagespeed 才开启,不用可不开:
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

Apache 日志:
LoadModule log_config_module modules/mod_log_config.so

指定 Apache 用户和组:
LoadModule unixd_module modules/mod_unixd.so

phpMyAdmin 要用:
LoadModule alias_module modules/mod_alias.so

wordpress, joomla 要用:
LoadModule rewrite_module modules/mod_rewrite.so

还有很多配置文件在 /usr/local/apache2/conf/extra 下面,在 httpd.conf 中可以选择是否加载,我加载的部分有:
配置 timeout, keepalive 的
httpd-default.conf

配置 apache mpm 的
httpd-mpm.conf
这个很重要,性能优化基本上就靠这个文件了

配置网站目录的
httpd-userdir.conf

配置虚拟主机的
httpd-vhosts.conf

确定所有配置弄好后,就可以删除服务器上以前的 apache 了,至少我就是这么干的 …:
service httpd stop
yum remove httpd

把新编译安装的 Apache 2.4.6 拷贝到位:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

编辑 /etc/init.d/httpd 文件,在首行 #!/bin/sh 下面加入两行:
# chkconfig: 35 85 15
# description: Activates/Deactivates Apache 2.4.6

将 Apache 加入开机自动启动:
chkconfig –add httpd
chkconfig httpd on

最后一步,启动编译好的 Apache 2.4.7:
service httpd start

下面如果要从外网访问,还需要设置防火墙,否则外网是无法访问的,默认情况下,linux 只开启 22 端口的,所以要开放 80 端口:

vi /etc/sysconfig/iptables
# 这里是打开防火墙设置,在 22 端口的下面一行添加下面这行代码,如果要开启 8080 端口只需要把 80 改成 8080 既可
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

编辑器完毕只需要重启防火墙既可,命令为:

service iptables restart

Ubuntu Server 14.04 安装 Web 服务器(Linux+Apache+MySQL+PHP)  http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux 下安装配置 PHP 环境(Apache2)  http://www.linuxidc.com/Linux/2015-05/118062.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Apache 的详细介绍:请点这里
Apache 的下载地址:请点这里

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/128957.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计3107字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中