热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Linux配置Apache2的经验总结

apache原指httpserver程序,后来成为了该程序的组织名,所以把原程序名定成了httpd,在20版后又叫apache2。目前在windows上还叫httpd,在debianubuntulinuxmint系列的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-available/default 修改 DocumentRoot,并修改对应写有原路径(默认是/var/www)的Directory标签,即要改两处。DocumentRoot末尾不要加 / ,Directory标签要加 / 。

2.4版:

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

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

修改任何设置后,用命令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,找到标签

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时间,超时将关闭连接


推荐阅读
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • NanoPi2 使用体验深入解析(续篇)
    随着Raspberry Pi的问世,开源硬件领域迎来了前所未有的发展,激发了全球范围内的创新热潮。在中国,这一趋势同样催生了一系列类似的开发板,例如NanoPi 2。本文作为前篇的延续,将深入探讨NanoPi 2的实际使用体验,从性能、兼容性到应用场景,进行全面分析。 ... [详细]
  • 如何在Ubuntu系统中直接使用Snap安装软件
    Canonical与Opera Software近日宣布,基于Chromium的Opera浏览器现已作为Snap包提供给Ubuntu用户,显著提升了在Linux操作系统上的安装便捷性和兼容性。通过Snap,用户可以在Ubuntu系统中轻松安装和更新Opera浏览器,享受更流畅的浏览体验。此外,Snap的容器化特性还确保了应用的安全性和稳定性,为用户提供更加可靠的软件环境。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 对于内存仅为512MB、硬盘80GB的老旧设备,部署Ubuntu Server毫无压力。然而,许多平台仅支持CentOS系统,而CentOS默认要求1GB以上内存才能使用图形界面安装。实际上,安装完成后,即使内存低至256MB也能正常运行。此外,通过优化系统配置和减少不必要的服务,可以进一步提升系统性能,确保在资源受限的环境中稳定运行。 ... [详细]
  • 本指南详细介绍了如何使用 `apt-get` 命令在 Ubuntu 系统上部署 MySQL 5、Apache 2、PHP 5 及 phpMyAdmin。首先,建议读者查阅 Ubuntu 的官方文档以获取更多背景信息。通过本文,您将逐步了解每个软件包的安装过程及其配置方法,确保系统环境的稳定性和安全性。此外,还将提供一些常见问题的解决方案,帮助用户顺利完成部署。 ... [详细]
  • 在Ubuntu和Linux Mint系统中安装LibreOffice 6.0的详细步骤
    本文详细介绍了在Ubuntu和Linux Mint操作系统上安装LibreOffice 6.0的具体步骤,包括必要的系统准备、软件源配置以及命令行操作,确保用户能够顺利安装并使用这一开源办公套件。 ... [详细]
  • 如何在Linux中配置环境变量:命令与脚本详解
    请关注本头条号,每天坚持更新原创干货技术文章。当您在Linux命令行上键入命令时,您实际是在告诉shell运行指定名称的可执行文件。在Linux中,这些可执行程序通常位于系统上的几 ... [详细]
  • 全面解析:Hadoop技术栈中的Linux操作系统概览
    全面解析:Hadoop技术栈中的Linux操作系统概览 ... [详细]
  • 本文详细介绍了在Ubuntu操作系统中使用GDB调试工具深入分析和调试标准库函数`printf`的源代码过程。通过具体步骤和实例,展示了如何设置断点、查看变量值及跟踪函数调用栈,帮助开发者更好地理解`printf`函数的工作原理及其内部实现细节。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 在Linux系统中,特别是Ubuntu和其他发行版中,配置TTY终端字体对于提升用户体验至关重要。本文将详细介绍如何在这些系统中设置TTY字体,并探讨Debian和Ubuntu的默认控制台字体选择。通过合理的字体配置,可以显著改善TTY终端的可读性和美观性。 ... [详细]
  • 在服务器管理和大规模操作中,常需将系统状态或执行结果通过电子邮件通知相关人员。本文详细介绍了如何利用Linux自带的命令行工具高效地通过SMTP协议发送邮件,提供了一种快速便捷的解决方案。 ... [详细]
author-avatar
欣欣然人人宇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有