前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache基础教程:软件安装和故障排查

Apache基础教程:软件安装和故障排查

原创
作者头像
姚啊姚
发布2018-08-02 16:24:19
1.1K0
发布2018-08-02 16:24:19
举报

介绍

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。在本教程中,我们将介绍一些管理Apache服务器的常用方法,包括停止,启动和启用服务,如何使用虚拟主机文件和目录,以及在服务器上查找重要文件和目录。

本教程面向在Ubuntu上使用Apache的用户。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器

如何使用此教程:

  • 每个部分都可以独立使用,因此可以跳到与您的需求相关的部分。
  • 每个命令都是自包含的,允许您使用自己的值替换。

安装Apache服务

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

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install apache2

启用和禁用Apache服务

Apache服务默认配置在启动系统时自动启动。如果我们想要修改此行为,我们可以输入以下内容:

代码语言:javascript
复制
sudo systemctl disable apache2.service

允许Apache在启动时再次启动:

代码语言:javascript
复制
sudo systemctl enable apache2.service

停止,启动和重新加载Apache

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

代码语言:javascript
复制
sudo systemctl stop apache2

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

代码语言:javascript
复制
sudo systemctl start apache2

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

代码语言:javascript
复制
sudo systemctl restart apache2

如果要进行配置更改,则可以在不断开连接的情况下重新加载Apache。输入以下命令:

代码语言:javascript
复制
sudo systemctl reload apache2

检查服务器状态

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

代码语言:javascript
复制
sudo systemctl status apache2

此命令的输出将显示Apache是​​否正在运行,并将显示日志文件中的最后几行。

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

使用Apache构建网站时,开发人员经常使用单个站点或域的虚拟主机。为document root创建目录,此目录为Apache服务内容时首先检查的目录。

创建目录:

代码语言:javascript
复制
sudo mkdir -p /var/www/example.com/public_html

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

代码语言:javascript
复制
sudo chown -R $USER:$USER /var/www/example.com/public_html

允许对常规Web目录的读访问权限:

代码语言:javascript
复制
sudo find /var/www -type d -exec chmod 775 {} \;

请注意,您的权限可能会根据您的需求和用例而变化。

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

如果您正在使用PHP之类的动态处理模块,则将按如下方式创建文档根目录:

代码语言:javascript
复制
sudo mkdir -p /var/www/example.com/public_html

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

代码语言:javascript
复制
sudo chown -R sammy:www-data /var/www/example.com/public_html

修改配置设置

使用虚拟主机时,必须修改配置设置以使用相关域名,以便Apache可以正确响应域请求。打开虚拟主机配置文件:

代码语言:javascript
复制
sudo nano /etc/apache2/sites-available/example.com.conf

修改以下内容:

代码语言:javascript
复制
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html

通过修改,文件应如下所示:

代码语言:javascript
复制
<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>

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

您还可以配置SSL证书,证书取决于你是否拥有可解析该服务器的域名。

启用和禁用配置文件

虚拟主机文件

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

代码语言:javascript
复制
sudo a2ensite example.com.conf

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

代码语言:javascript
复制
sudo a2dissite 000-default.conf

模块

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

代码语言:javascript
复制
sudo a2enmod example_mod

要禁用特定模块:

代码语言:javascript
复制
sudo a2dismod example_mod

配置文件

要启用虚拟主机中的配置文件/etc/apache2/conf-available-files,请执行以下操作:

代码语言:javascript
复制
sudo a2enconf example-conf

要禁用配置文件:

代码语言:javascript
复制
sudo a2disconf example-conf

配置测试

每次在Apache中更改配置文件时,请运行以下命令以检查语法错误:

代码语言:javascript
复制
sudo apache2ctl configtest

重要文件和目录

当您使用Apache时,您可能会遇到以下目录和文件:

内容

  • /var/www/html:此目录包含您站点的Web内容,并且是默认根目录。您可以修改Apache的默认配置设置以指向var/www中的其他目录。

服务器配置

  • /etc/apache2:Apache中的配置目录,是其所有配置文件的主页。
  • /etc/apache2/apache2.conf:Apache的主配置文件,用于存储其全局配置设置。配置目录中的其他文件从此文件加载。它还存储FollowSymLinks指令,这些指令可以控制配置启用和禁用。
  • /etc/apache2/sites-available/:此目录包含虚拟主机配置文件,这些文件通过指向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:此文件包含对Web服务器的每个请求,除非您已修改Apache的配置设置。
  • /var/log/apache2/error.log:此文件包含错误。要修改错误日志中的详细信息量,请修改/etc/apache2/apache2.conf中的LogLevel指令。

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

代码语言:javascript
复制
sudo journalctl -u apache2

结论

在本教程中,我们介绍了管理Apache服务器的一些常用过程,包括停止,启动和启用服务,使用虚拟主机文件和目录,以及在服务器上查找重要文件和目录。你可以收藏本文,以便在Apache出现错误的时候拿出来查看。更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《Apache Basics: Installation and Configuration Troubleshooting》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 安装Apache服务
  • 启用和禁用Apache服务
  • 停止,启动和重新加载Apache
  • 检查服务器状态
  • 为静态网站创建文档根目录
  • 为动态网站创建文档根目录
  • 修改配置设置
  • 启用和禁用配置文件
    • 虚拟主机文件
      • 模块
        • 配置文件
        • 配置测试
        • 重要文件和目录
          • 内容
            • 服务器配置
              • 服务器日志
              • 结论
              相关产品与服务
              轻量应用服务器
              轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档