Apache基础:安装和配置故障排除

介绍

Apache Web服务器是一个开放源代码的Web服务器,因其灵活性,强大功能和广泛的支持而受到欢迎。 在本指南中,我们将介绍管理Apache服务器的一些常用过程,包括停止,启动和启用服务,使用虚拟主机文件和目录以及在服务器上查找重要的文件和目录。

本指南面向在Ubuntu上使用Apache的用户。 使用CentOS和其他基于RHEL的发行版的用户可以参阅本教程的第一部分,以获取有关在CentOS上安装Apache的信息。

如何使用本指南:

  • 每个部分都可以独立使用,因此可以随意跳到与您的需求相关的部分。
  • 每个命令都是独立的,允许用红色代替自己的值。
  • 每个部分都有链接的资源,您可以参阅有关涵盖主题的更多信息。

安装Apache服务

要安装Apache服务,请更新您的软件包索引,然后安装:

sudo apt-get update
sudo apt-get install apache2

有关安装过程的更多详细信息,请参阅关于如何在Ubuntu 16.04上安装Apache Web服务器的教程。

启用和禁用Apache单元

我们的Apache服务被配置为在启动时自动启动。 如果我们想修改这个行为,我们可以输入以下内容:

sudo systemctl disable apache2.service

要允许Apache在启动时重新启动:

sudo systemctl enable apache2.service

停止,启动和重新加载Apache

要停止Apache服务器,请键入以下命令:

sudo systemctl stop apache2

要启动Apache服务器,请输入:

sudo systemctl start apache2

要停止服务并再次启动,请键入:

sudo systemctl restart apache2

如果您正在进行配置更改,则可以重新加载Apache而不会丢失连接。 键入以下命令:

sudo systemctl reload apache2

要了解有关systemd init系统和systemctl命令的更多信息,请查看systemd essentials的介绍

检查服务器状态

要检查Apache服务器的状态,请输入:

sudo systemctl status apache2

这个命令的输出会告诉你Apache是​​否正在运行,并且会显示日志文件中的最后几行。

为静态网站创建文档根目录

使用Apache构建网站时,开发人员经常使用virtual hosts - 包含单个站点或域的单元。 这个过程包括为document root目录创建一个目录,这是Apache在服务内容时检查的顶层目录。

创建目录:

sudo mkdir -p /var/www/example.com/public_html

将目录的所有权分配给您的非root用户:

sudo chown -R $USER:$USER /var/www/example.com/public_html

允许读取一般的网页目录:

sudo find /var/www -type d -exec chmod 775 {} \;

有关权限的更多信息,请参阅我们的Linux权限介绍 请记住,您的权限可能随您的需求和使用情况而改变。

为动态处理模块创建文档根目录

如果您正在使用像PHP这样的动态处理模块,那么您将如下创建文档根目录:

sudo mkdir -p /var/www/example.com/public_html

将目录的所有权分配给非root用户,并将所有权分配给www-data组:

sudo chown -R sammy:www-data /var/www/example.com/public_html

修改配置设置

在使用虚拟主机时,需要修改配置设置以反映域特定信息,以便Apache可以正确响应域请求。

打开你的虚拟主机配置文件:

sudo nano /etc/apache2/sites-available/example.com.conf

修改以下内容:

ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html

通过修改,文件应该看起来像这样(前提是它没有被修改过):

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /var/www/example.com/public_html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

在排除故障时,请务必仔细检查此文件及其指令。

有关使用虚拟主机的更多详细信息,请参阅我们关于在Ubuntu 16.04使用Apache虚拟主机的讨论

启用和禁用配置文件

虚拟主机文件

要启用虚拟主机配置文件:

sudo a2ensite example.com.conf

要禁用配置文件(在此特定示例中为Apache默认虚拟主机配置文件):

sudo a2dissite 000-default.conf

模块

要启用/etc/apache2/mods-available的模块,请使用以下命令:

sudo a2enmod example_mod

禁用特定模块:

sudo a2dismod example_mod

配置文件

要启用不与虚拟主机关联的/etc/apache2/conf-available -files中的配置文件, /etc/apache2/conf-available键入:

sudo a2enconf example-conf

要禁用配置文件:

sudo a2disconf example-conf

配置测试

任何时候在Apache中更改配置文件时,都要确保运行以下命令来检查语法错误:

sudo apache2ctl configtest

重要的文件和目录

当您继续使用Apache时,您将遇到以下目录和文件:

内容

  • /var/www/html :这个目录保存你网站的网页内容,并且是它的默认的根目录。 您可以修改Apache的默认配置设置以指向var/www其他目录。

服务器配置

  • /etc/apache2 :Apache中的所有配置文件的配置目录。

  • /etc/apache2/apache2.conf的主配置文件,它存储了它的全局配置设置。 配置目录中的其他文件从这个文件中加载。 它还存储FollowSymLinks指令,这些指令控制配置启用和禁用。

  • /etc/apache2/sites-available/ :此目录保存虚拟主机配置文件,通过链接到sites-enabled目录sites-enabled 修改服务器块文件发生在此目录中,并通过a2ensite命令启用。

  • /etc/apache2/sites-enabled/ :激活的虚拟主机配置文件存储在这里。 当Apache启动或重新加载时,它将读取此目录中的配置文件和链接,因为它符合完整的配置。

  • /etc/apache2/conf-available/etc/apache2/conf-enabled :与sites-availablesites-enabled关系相同,这些目录包含未附加到虚拟主机配置文件的配置片段。

  • /etc/apache2/mods-available/etc/apache2/mods-enabled :包含可用和启用的模块,这些目录有两个组件:以.load结尾的文件,包含加载特定模块的片段,以及以.conf ,它存储这些模块的配置。

服务器日志

  • /var/log/apache2/access.log :除非Apache的配置设置已被修改,否则这个文件包含对Web服务器的每个请求。

  • /var/log/apache2/error.log :这个文件包含错误。 要修改错误日志中的细节数量,请修改/etc/apache2/apache2.confLogLevel指令。

另一种访问Apache单元信息的方法是通过日志组件,它从应用程序和内核收集日志信息。 要查看Apache单元的条目,请键入:

sudo journalctl -u apache2

结论

在本指南中,我们介绍了管理Apache服务器的一些常见步骤,包括停止,启动和启用服务,使用虚拟主机文件和目录以及在服务器上查找重要的文件和目录。 要了解有关使用Apache的更多信息,请查看以下资源:

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏