Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和安全性,被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。在本教程中,我们将介绍一些管理Apache服务器的常用方法,包括停止,启动和启用服务,如何使用虚拟主机文件和目录,以及在服务器上查找重要文件和目录。
本教程面向在Ubuntu上使用Apache的用户。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
如何使用此教程:
要安装Apache服务,请更新软件包索引,然后安装:
sudo apt-get update
sudo apt-get install apache2
Apache服务默认配置在启动系统时自动启动。如果我们想要修改此行为,我们可以输入以下内容:
sudo systemctl disable apache2.service
允许Apache在启动时再次启动:
sudo systemctl enable apache2.service
要停止Apache服务器,请输入以下命令:
sudo systemctl stop apache2
要启动Apache服务器,请输入:
sudo systemctl start apache2
要停止服务并再次启动它,请输入:
sudo systemctl restart apache2
如果要进行配置更改,则可以在不断开连接的情况下重新加载Apache。输入以下命令:
sudo systemctl reload apache2
要检查Apache服务器的状态,请输入:
sudo systemctl status apache2
此命令的输出将显示Apache是否正在运行,并将显示日志文件中的最后几行。
使用Apache构建网站时,开发人员经常使用单个站点或域的虚拟主机。为document root
创建目录,此目录为Apache服务内容时首先检查的目录。
创建目录:
sudo mkdir -p /var/www/example.com/public_html
将目录的所有权分配给非root用户:
sudo chown -R $USER:$USER /var/www/example.com/public_html
允许对常规Web目录的读访问权限:
sudo find /var/www -type d -exec chmod 775 {} \;
请注意,您的权限可能会根据您的需求和用例而变化。
如果您正在使用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
通过修改,文件应如下所示:
<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证书,证书取决于你是否拥有可解析该服务器的域名。
要启用虚拟主机配置文件:
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
,请执行以下操作:
sudo a2enconf example-conf
要禁用配置文件:
sudo a2disconf example-conf
每次在Apache中更改配置文件时,请运行以下命令以检查语法错误:
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-available
和sites-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单元的条目,请输入:
sudo journalctl -u apache2
在本教程中,我们介绍了管理Apache服务器的一些常用过程,包括停止,启动和启用服务,使用虚拟主机文件和目录,以及在服务器上查找重要文件和目录。你可以收藏本文,以便在Apache出现错误的时候拿出来查看。更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《Apache Basics: Installation and Configuration Troubleshooting》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。