目录
引言:
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
一.安装与启用服务器
(一)安装 Apache服务器
1.打开终端并更新包列表:
sudo apt update
2.安装 Apache 服务器:
sudo apt install apache2
这些指令可以在Ubuntu中安装aoache服务器。在Ubuntu中要注意,Apache服务器的软件包名称是Apache2,而不是Apache。
(二)验证安装:
安装完成后,你可以通过以下步骤验证Apache是否成功安装并正在运行:
1 启动Apache2服务:
sudo systemctl start apache2
2.停止Apache2服务:
sudo systemctl stop apache2
3.查看Apache2服务状态:
sudo systemctl status apache2
4.如果Apache2正在运行,你会看到类似如下的输出:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since ...
通过这些步骤,你应该能够成功安装并配置Apache服务器。
(三)访问默认网页:
打开浏览器,访问http://localhost
或http://你的服务器IP地址
。你应该会看到Apache的默认欢迎页面,表明Apache已经成功安装并正在运行。如下图:
二.设置网络站点
(一)创建站点
1. 创建网站目录
创建一个新的目录用于存放 DemoSiteA(站点名) 的文件:
sudo mkdir -p /var/www/demositea
2. 设置权限
设置 www-data
用户(Apache 默认的用户,也可以跟改为自己的用户)拥有该目录的权限:
sudo chown -R www-data:www-data /var/www/demositea
3. 创建虚拟主机配置
创建一个新的虚拟主机配置文件:
sudo nano /etc/apache2/sites-available/demositea.conf
在文件中添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/demositea
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
4. 启用虚拟主机
启用新创建的虚拟主机配置:
sudo a2ensite demositea.conf
5. 禁用默认站点
如果不再需要默认的 Apache 站点,可以禁用它:
sudo a2dissite 000-default.conf
6. 检查配置并重启 Apache
检查配置是否正确:
sudo apache2ctl configtest
如果配置不正确看第三点,如果一切正常,重启 Apache:
sudo systemctl restart apache2
(二)上传网站文件
在 /var/www/demositea
目录中上传你的网站文件(如 HTML、CSS、JavaScript 文件等)。也可以可以使用 scp
命令或直接在虚拟机中操作。
1.示例 HTML 文件
在该目录下创建一个简单的 index.html
文件:
echo "<h1>Welcome to DemoSiteA</h1>" | sudo tee /var/www/demositea/index.html
如图:
2.测试站点
打开浏览器并输入 http://localhost
或 http://<你的服务器IP>
。你应该能看到 “Welcome to DemoSiteA” 的网页,这意味着站点已成功发布。结果如下图:
三.可能会遇到的问题
(一)配置不正确
如果使用sudo apache2ctl configtest后输出:
lzb01@laa-VMware-Virtual-Platform:~$ sudo apache2ctl configtest AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
这表明 Apache2 无法可靠地确定服务器的完全合格域名(FQDN)。这通常发生在 Apache2 安装后首次启动,且配置文件(如 httpd.conf
或在 conf-available/
和 sites-available/
目录下的其他相关配置文件)中没有明确设置 ServerName
指令。
1.打开 Apache2 的主配置文件
在 Ubuntu 上,这通常是 /etc/apache2/apache2.conf
文件,但也可能是在 /etc/apache2/conf-available/
目录下的某个文件,或者是在你的虚拟主机配置文件中(如 /etc/apache2/sites-available/000-default.conf
或你自定义的虚拟主机配置文件)。
使用 nano
或你喜欢的文本编辑器打开主配置文件:
sudo nano /etc/apache2/apache2.conf
2.搜索并设置 ServerName
:
在配置文件中搜索 ServerName
。如果找到了,请确保它没有被注释掉(行首没有 #
),并且设置了一个有效的域名或 IP 地址。如果没找到,你可以在文件的末尾添加以下行:
ServerName localhost
3.保存并关闭文件:
如果你使用的是 nano
,按 Ctrl + O
保存文件,然后按 Ctrl + X
退出。如果你使用的是 vi
或 vim
,按 Esc
,然后输入 :wq
并按 Enter
保存并退出。最后重启 Apache2 服务再次运行配置测试如果一切正常,你应该不会再看到之前的警告消息。
(二)防火墙设置
确保服务器上的防火墙允许 HTTP 流量。你可以使用 ufw
(Uncomplicated Firewall)检查和允许 HTTP 流量:
sudo ufw status
如果 Apache
服务不在允许列表中,可以使用以下命令允许 HTTP 流量:
sudo ufw allow 'Apache'
四.总结
Apache HTTP 服务器(通常简称为 Apache)是一个开源的、跨平台的 Web 服务器软件。它主要用于在互联网或局域网上提供基于 HTTP 协议的内容。同时Apache服务器也是一个功能强大、灵活且广泛使用的 Web 服务器软件,适用于从小型个人网站到大型的企业级应用。通过其丰富的功能和模块,Apache 可以满足各种复杂的 Web 服务需求。