源码安装APACHE
我的centos 7 版本为以下(最小化安装)
查看版本 cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
关闭防火墙
systemctl stop firewalld
关闭selinux 需要从启动服务器生效
vi /etc/selinux/config
更改为
SELINUX=disabled
安装前准备 安装依赖和一些常用用具 以及下载软件
1.安装依赖:然后才能安装其他(很多人报错 是因为libxml2依赖没装)
yum install -y pcre-devel libxml2 expat-devel gcc-*
yum install -y zlib-devel
yum -y install net-tools.x86_64
yum -y install psmisc.x86_64
yum -y install elinks
2.下载软件 (四种软件)
cd /home 进入home目录
mkdir xiazai 建立一个下载的软件存放的目录 进入目录
浏览器下载以下软件
https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2 下载 arp
https://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2 下载 APR-util
https://www.apache.org/dist/apr/apr-iconv-1.2.2.tar.bz2 下载 apr-iconv
http://archive.apache.org/dist/httpd/httpd-2.4.39.tar.bz2 下载 apache下载
下载完成 上传至服务器的/home/xiazai中
查看上传的文件 一共四个
[root@localhost xiazai]# ls
apr-1.7.0.tar.bz2 apr-iconv-1.2.2.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.39.tar.gz
实施:
一.安装apr (APACHE的可移植运行库 我安装的是apr-1.7.0.tar.bz2)
1.进入软件存放目录
cd /home/xiazai
2.解压缩apr
tar xf apr-1.7.0.tar.bz2
(如果提示tar (child): lbzip2: Cannot exec: No such file or directory
证明你没有tar工具 执行 yum -y install bzip2 安装即可)
3.进入apr已解压的目录
cd apr-1.7.0
4.编译安装主程序 apr 到/usr/local/apr
./configure --prefix=/usr/local/apr
5.安装
make
6.安装
make install
二.安装apr-util (与APACHE更加紧密 包含一些常用的开发组件
如:存储段 存储段组 加密等 我安装的是 apr-util-1.6.1.tar.bz2)
1.进入软件存放目录
cd /home/xiazai
2.解压缩
tar xf apr-util-1.6.1.tar.bz2
3.进入目录
cd apr-util-1.6.1
4.安装依赖
yum install -y expat-devel
5.编译安装 到/usr/local/apr-util 主程序位置/usr/local/apr
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
6.安装
make
7.安装
make install
三.安装apr-iconv (转码工具包 我安装的是apr-iconv-1.2.2.tar.bz2)
1.进入软件存放目录
cd /home/xiazai
2.解压缩
tar xf apr-iconv-1.2.2.tar.bz2
3.进入目录
cd apr-iconv-1.2.2
4.编译安装到/usr/local/apr-iconv 主程序位置/usr/local/apr
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
5.安装
make
6.安装
make install
四、安装apache (安装APACHE 我安装的是httpd-2.4.39.tar.gz)
1.进入软件存放目录
cd /home/xiazai
2.解压缩
tar xf httpd-2.4.39.tar.gz
3.进入目录
cd httpd-2.4.39
4.安装一个依赖 要不会报错
yum install -y zlib-devel
5.编译安装
./configure --prefix=/usr/local/apache --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-remoteip --enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --enable-nonportable-atomics --disable-ipv6 --with-sendfile
6.安装
make
7.安装
make install
五、以下设置 避免启动apache 启动时候提示ServerName错误
1.进入目录
cd /usr/local/apache/conf/
2.修改配置文件
vim httpd.conf
添加一行
ServerName 127.0.0.1
六、设置apache为系统服务
1.拷贝目录文件
cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
cd /etc/rc.d/init.d/
2.编辑文件
vim /etc/rc.d/init.d/httpd
第二行第三行添加以下(带#)
# chkconfig:35 61 61
# description:Apache
3.将httpd添加到开机自动启动
chkconfig --add httpd
完成
现在可以
systemctl status httpd 查看apache 状态
systemctl start httpd 启动apache
systemctl stop httpd 停止APACHE
apache 全部 安装完成
验证:
1.测试配置文件 正确性
cd /usr/local/apache/bin
./apachectl -t
显示Syntax OK
2.查看网络连接httpd 80 LISTEN端口
netstat -ntpl
3.浏览器测试
http://10.10.201.159
显示 It works!
4.本机命令行测试
[root@localhost bin]# elinks http://10.10.201.159 -dump
It works!
以下以下常用命令
关闭apache 服务
[root@localhost bin]# killall httpd
启动apache服务
/usr/local/apache/bin/httpd
或者启动apache服务
进入安装 apache目录
[root@localhost conf]# cd /usr/local/apache/bin/
[root@localhost bin]# ./apachectl
以下以下目录的解释
查看目录结构 (如果没有tree命令 执行yum -y install tree 安装)
tree -L 1
├── bin 命令存放位置
├── build
├── cgi-bin apa运行脚本
├── conf 配置文件
├── error 错误目录
├── htdocs 默认网站根目录 站点目录 WEB目录
├── icons 小图标
├── include
├── logs 日志
├── man 帮助手册
├── manual 在线手册
└── modules 运行所需要的模块
[root@localhost bin]# tree -L 1
以下为一些目录文件解释
├── ab 压力测试工具
├── apachectl 管理命令 用来启动APACHE (重点)
├── apxs 把第三方工具或程序 (例如java php tomcat)变成apache模块
├── checkgid
├── dbmmanage
├── envvars
├── envvars-std
├── fcgistarter fastcgi启动工具
├── htcacheclean
├── htdbm
├── htdigest
├── htpasswd
├── httpd apache 守护进程 (重点)
├── httxt2dbm
├── logresolve
└── rotatelogs 日志分割工具 把日志可以放在一个文件
apache启动
[root@zutuanxue ~]# /usr/local/apache/bin/httpd
apache状态测试
APACHE 编译说明
--prefix=/usr/local/apache 指定安装目录
--enable-mpms-shared=all --with-mpm=event 开启动态MPM切换
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 指定依赖包apr apr-util安装路径
--enable-so 打开 so 模块,so 模块是用来提 dso 支持的 apache 核心模块
--enable-remoteip 支持基于客户端IP做访问控制
--enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi 启用代理支持PHP Python网站
--enable-deflate=shared 开启压缩
--enable-expires=shared 开启客户端缓存
--enable-rewrite=shared 开启URL重写
--enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache 开启服务器缓存
--enable-static-support 支持静态连接
--enable-static-ab 使用静态连接编译 ab - apache http 服务器性能测试工具
--disable-userdir 禁用用户主目录提供页面访问
--enable-nonportable-atomics 对新式CPU支持,支持原子的比较交换(compare-and -swap, CAS)操作指令
--disable-ipv6 禁用IPV6
--with-sendfile 开启sendfile 0复制机制