Apache 编译
时间:2022-04-29
本文章向大家介绍Apache 编译,主要内容包括yum 方式安装、编译安装、安装 apr、安装 apr-iconv、安装 apr-util、安装 pcre、Apache、systemd、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本文介绍了手动编译安装 Apache 的具体步骤。
yum 方式安装
$ yum install wget epel-release
$ wget https://centos7.iuscommunity.org/ius-release.rpm
$ rpm -Uvh ius-release.rpm
$ yum install httpd24u
编译安装
安装所需软件
$ yum install gcc gcc-c++ make uuid-devel libuuid-devel unzip -y
apr
中包含了一些通用的开发组件,包括 mmap,DSO 等等
apr-util
该目录中也是包含了一些常用的开发组件。这些组件与 apr 目录下的相比,它们与 apache 的关系更加密切一些。比如存储段和存储段组,加密等等。
apr-iconv
包中的文件主要用于实现 iconv 编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码 A 和 B 需要转换,则转换过程大致为 A->Local 以及 Local->B 或者 B->Local 以及 Local->A。
安装 apr
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
$ tar zxvf apr-1.5.2.tar.gz
$ cd apr-1.5.2
$ ./configure --prefix=/usr/local/apr
#下同
$ make
$ make install
安装 apr-iconv
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-iconv-1.2.1.tar.gz
$ tar -zxvf apr-iconv-1.2.1.tar.gz
$ cd apr-iconv-1.2.1
$ ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
安装 apr-util
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
$ tar zxvf apr-util-1.5.4.tar.gz
$ cd apr-util-1.5.4
$ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
--with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
安装 pcre
$ wget http://120.52.73.44/nchc.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.zip
$ unzip -o pcre-8.38.zip
$ cd pcre-8.38
$ ./configure --prefix=/usr/local/pcre
Apache
# 替换 url 为实际的下载地址
$ wget url
$ tar zxvf httpd-2.4.20.tar.gz
$ cd httpd-2.4.20
$ ./configure --prefix=/usr/local/apache2
--enable-defalte --enable-expires
--enable-headers --enable-modules=most
--enable-so --with-mpm=worker
--enable-rewrite --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--with-pcre=/usr/local/pcre
systemd
yum
方式安装会生成 httpd.service
文件,编译安装使用 apache.service
新建 /etc/systemd/system/apache.service
文件。
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=simple
ExecStart=/usr/local/apache2/bin/httpd -DFOREGROUND
ExecReload=/usr/local/apache2/bin/httpd -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle基本参数(NLS_LANGUAGE)
- Oracle基本参数(NLS_TERRITORY)
- C# 探测器测试系统
- Panuon.UI.Silver使用和介绍
- Oracle基本参数(OPEN_CURSORS)
- Oracle基本参数(PROCESSES)
- C# 中的多态性
- Oracle基本参数(REMOTE_LISTENER)
- C#基于yolov3的行人检测
- yolov3和yolov4检测效果对比
- Oracle基本参数(REMOTE_LOGIN_PASSWORDFILE)
- VS2017中运行MySQL的存储过程
- C#各种定时器Timer类的区别与使用介绍
- json使用实例二
- C# Monitor:锁定资源