Linux配置Apache2的经验总结

简介: apache原指http server程序,后来成为了该程序的组织名,所以把原程序名定成了httpd,在2.0版后又叫apache2。目前在windows上还叫httpd,在debian/ubuntu/linux mint系列的linux上,程序名是apache2。

apache原指http server程序,后来成为了该程序的组织名,所以把原程序名定成了httpd,在2.0版后又叫apache2。目前在windows上还叫httpd,在debian/ubuntu/linux mint系列的linux上,程序名是apache2。所以网上说httpd的资料,对apache2是部分适用的。官网本身也用httpd的说法,可以理解为httpd是产品名,apache2的可执行程序名。

使用 sudo apt-get install apache2 就可以安装,我的linux mint装的是2.2版,Ubuntu13装的是2.4版,两者还有有点差别的。官方有指导文档说从2.2升级到2.4要做什么。http://httpd.apache.org/docs/2.4/upgrading.html。对用户来说最直接的就是模块数和名字有不同、配置文件位置有不同。


把网站根目录改去用户分区,可避免修改个文件都要root权限。方法:

2.2版:

/etc/apache2/sites-enabled/default 修改 DocumentRoot,并修改对应写有原路径(默认是/var/www)的Directory标签,即要改两处。DocumentRoot末尾不要加 / ,Directory标签要加 / 。

2.4版:

/etc/apache2/sites-enabled/000-default.conf 修改 DocumentRoot,

/etc/apache2/apache2.conf 修改对应的Directory标签

(以上两种版本的sites-enabled下的配置文件名可能和这里的例子不同,各发行版会有自己的命名)


修改任何设置后,用命令sudo service apache2 restart重启服务。转载请注明出处:http://blog.csdn.net/hursing


/etc/apache2/envvars 是apache程序的参数配置文件,包括log路径,程序使用的用户名等。默认的log位置:/var/log/apache2/下有错误日志error.log和访问日志access.log。这些配置都会export出来, service apache2在运行前会source envvars文件。如果手动运行apache2,就应该自己先source,否则会报一些参数未设置。


因为apache2在/usr/bin/下,所以命令行可在任何路径下使用apache2命令。 apache2 -h会列出可用的命令。有用的:

-v 查看版本

-V 查看编译时的设置

-l 查看编译时就集成的模块

-L 查看可用的配置文件指令

-t 检查所有配置文件是否有语法错误


/etc/apache2/mods-available/下表示可用的模块,load后缀存放模块的路径,conf后缀表示该模块的配置。

/etc/apache2/mods-enabled/下表示已启用的模块,主配置文件apache2.conf会引用到此目录的所有文件。此目录下全是软链接,可用ls -l看出来。把/etc/apache2/mods-available/下的文件软链接到/etc/apache2/mods-enabled/就会启用对应的模块。

配置文件中 IfModule xxx 标签表示xxx模块启用的话才加入里面的参数


apache2有多种并发处理模型MPM,可查看http://httpd.apache.org/docs/current/mpm.html了解详情。默认是perfork模型,每个并发处理机都在一个独立进程里,其配置参数直接影响并发处理的性能。

2.2版:

打开/etc/apache2/apache2.conf,找到<IfModule mpm_prefork_module>标签

StartServers          启动程序时就启动多少个server进程
MinSpareServers       最小空闲server数
MaxSpareServers      最大空闲server数
MaxRequestsPerChild   每个server最多接受多少次请求。达到后就退出,这样可避免内存泄露。设为0则不限。

2.4版:

修改/etc/apache2/mods-enabled/mpm_perfork.conf,比2.2多一个参数。MaxRequestWorkers,最多的server数。如果这个数想填超过256,则要在之前加个参数MaxClients xxx。 http://httpd.apache.org/docs/current/mod/mpm_common.html有更多介绍。


以上可通过命令ps -ef | grep apache2 | wc -l 知道当前有几个进程在运行。(实际为那个数字-2,因为会算上命令本身和service主进程)


apache2.conf里面的参数属于core module,这4个常用:

Timeout 超时时间
KeepAlive On/Off 启动或关闭KeepAlive
MaxKeepAliveRequests 最大的KeepAlive连接数
KeepAliveTimeout 最大的KeepAlive时间,超时将关闭连接


转载请注明出处:http://blog.csdn.net/hursing

目录
相关文章
|
6月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
397 3
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
294 11
|
3月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
139 0
|
5月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
258 17
|
5月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
184 10
|
6月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
898 21
|
5月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
425 1
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
9月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
653 33
The Past, Present and Future of Apache Flink