linux源码方式安装Apache
Apache 的安装方式包括:源码包安装和二进制包安装。
以源码包方式安装步骤:
1. 下载apache
http://httpd.apache.org/download.cgi
在linux下
wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz
2. 解压缩下载的源码包
mkdir -p /usr/local/src/apache
mv httpd-*.*.*.tar.gz /usr/local/src/apache
cd /usr/local/src/apache
tar zxvf httpd-*.*.*.tar.gz
3. 配置Makefile文件
cd httpd-*.*.*
查看可配置选项和可用模块
./configure --help
配置命令常用格式如下:
CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=<Install Path> --enable-<FEATURE>[=ARG] --disable-<FEATURE> --enable-modules=<MODULE LIST>
--enable-so --enable-mods-shared=<Module List> --with-mpm=<MPM>
其中:
CC: C编译器的名称。
CFLAGS:编译器的标志,本示例为 -O3,指定优先级别为3。
CXX:C++ 编译器的名称
CXXFLAGS:C++编译器的标志。
--prefix=<install path>: 指明编译后的二进制文件安装到<install path>目录,缺省将安装到 /usr/local/apache2 目录。
建议将apache与操作系统安装在不同物理磁盘或分区上,以便于日后的升级、备份、恢复。
--enable-<FEATURE>[=ARG]: 明确指明静态编译某一属性或模块到httpd二进制文件,如果[=ARG]不明确指出,默认为=yes;如果指定[=ARG]为=no,
则效果等同于下面的 --disable-<FEATURE>; 如果指定[=ARG]为=share,则单独编译为动态加载模块(DSO),需要通过 --enable-so 选项打开DSO支持。
用实际的属性或模块名来替换<FEATURE>, 如--enable-rewrite, --enable-rewrite=no, --enable-rewrite=share
--disable-<FEATURE>:明确指明不静态编译某一属性或模块到httpd二进制文件。
--enable-modules=<ModuleList>:明确指明要静态编译到httpd二进制文件的模块,<ModuleList>为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示大部分模块。
--enable-so: 指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各个功能模块可以与核心分开编译、运行时动态加载。最新版本的Apache默认编译此模块到httpd二进制文件。
--enable-mods-shared=<ModuleList>: 明确指明要以DSO方式编译的模块,<ModuleList>为空格分隔的模块列表、all、most,all表示包含所有模块,most表示包含大部分模块。
--with-mpm=<MPM>: 选择Apache多路处理模块,<MPM>={beos|event|worker|prefork|mpmt_os2},prefork 为 Unix 系统下默认处理模块,它将运行一个非线程的、预派生的Wep服务器;
worker 为支持混合的多线程多进程的多处理模块。
4. make
5. make install
6. 设置开机自启动服务控制脚本
apache start
/usr/local/apache-*.*.*/bin/apachectl start
apache stop
/usr/local/apache-*.*.*/bin/apachectl stop
让apache随系统启动自启动
echo "/usr/local/apache-*.*.*/bin/apachectl start" >> /etc/rc.local
把apache加入到系统服务
首先以apachectl脚本为模板生成apache服务控制脚本:
grep -v "#" /usr/local/apache-*.*.*/bin/apachectl > /etc/init.d/apache
编辑/etc/init.d/apache,在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
为apache服务控制脚本添加执行权限:
chmod +x /etc/init.d/apache
将apache服务加入到系统服务:
chkconfig --add apache
检查apache服务是否生效:
chkconfig --list apache
如果命令输出如下结果则表明apache服务已经生效:
apache 0:off 1:off 2:on 3:on 4:on 5:on 6:of
上面表明apache在2、3、4、5系统运行级别随系统启动而自启动。
以上如果全部成功后,可以用service命令控制apache的启动和停止。
service apache start/stop
关闭apache随系统启动自启动:
chkconfig apache of
改变开机自启动的运行级别:
chkconfig --level 35 apache on
以源码包方式安装步骤:
1. 下载apache
http://httpd.apache.org/download.cgi
在linux下
wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz
2. 解压缩下载的源码包
mkdir -p /usr/local/src/apache
mv httpd-*.*.*.tar.gz /usr/local/src/apache
cd /usr/local/src/apache
tar zxvf httpd-*.*.*.tar.gz
3. 配置Makefile文件
cd httpd-*.*.*
查看可配置选项和可用模块
./configure --help
配置命令常用格式如下:
CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=<Install Path> --enable-<FEATURE>[=ARG] --disable-<FEATURE> --enable-modules=<MODULE LIST>
--enable-so --enable-mods-shared=<Module List> --with-mpm=<MPM>
其中:
CC: C编译器的名称。
CFLAGS:编译器的标志,本示例为 -O3,指定优先级别为3。
CXX:C++ 编译器的名称
CXXFLAGS:C++编译器的标志。
--prefix=<install path>: 指明编译后的二进制文件安装到<install path>目录,缺省将安装到 /usr/local/apache2 目录。
建议将apache与操作系统安装在不同物理磁盘或分区上,以便于日后的升级、备份、恢复。
--enable-<FEATURE>[=ARG]: 明确指明静态编译某一属性或模块到httpd二进制文件,如果[=ARG]不明确指出,默认为=yes;如果指定[=ARG]为=no,
则效果等同于下面的 --disable-<FEATURE>; 如果指定[=ARG]为=share,则单独编译为动态加载模块(DSO),需要通过 --enable-so 选项打开DSO支持。
用实际的属性或模块名来替换<FEATURE>, 如--enable-rewrite, --enable-rewrite=no, --enable-rewrite=share
--disable-<FEATURE>:明确指明不静态编译某一属性或模块到httpd二进制文件。
--enable-modules=<ModuleList>:明确指明要静态编译到httpd二进制文件的模块,<ModuleList>为空格分隔的模块名列表、all或者most,all表示包含所有模块,most表示大部分模块。
--enable-so: 指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各个功能模块可以与核心分开编译、运行时动态加载。最新版本的Apache默认编译此模块到httpd二进制文件。
--enable-mods-shared=<ModuleList>: 明确指明要以DSO方式编译的模块,<ModuleList>为空格分隔的模块列表、all、most,all表示包含所有模块,most表示包含大部分模块。
--with-mpm=<MPM>: 选择Apache多路处理模块,<MPM>={beos|event|worker|prefork|mpmt_os2},prefork 为 Unix 系统下默认处理模块,它将运行一个非线程的、预派生的Wep服务器;
worker 为支持混合的多线程多进程的多处理模块。
4. make
5. make install
6. 设置开机自启动服务控制脚本
apache start
/usr/local/apache-*.*.*/bin/apachectl start
apache stop
/usr/local/apache-*.*.*/bin/apachectl stop
让apache随系统启动自启动
echo "/usr/local/apache-*.*.*/bin/apachectl start" >> /etc/rc.local
把apache加入到系统服务
首先以apachectl脚本为模板生成apache服务控制脚本:
grep -v "#" /usr/local/apache-*.*.*/bin/apachectl > /etc/init.d/apache
编辑/etc/init.d/apache,在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
为apache服务控制脚本添加执行权限:
chmod +x /etc/init.d/apache
将apache服务加入到系统服务:
chkconfig --add apache
检查apache服务是否生效:
chkconfig --list apache
如果命令输出如下结果则表明apache服务已经生效:
apache 0:off 1:off 2:on 3:on 4:on 5:on 6:of
上面表明apache在2、3、4、5系统运行级别随系统启动而自启动。
以上如果全部成功后,可以用service命令控制apache的启动和停止。
service apache start/stop
关闭apache随系统启动自启动:
chkconfig apache of
改变开机自启动的运行级别:
chkconfig --level 35 apache on