嘿,朋友!想在你的 CentOS 9 服务器上搭建一个网站吗?那 Apache 可谓是你的得力助手。作为世界上最流行的网页服务器之一,Apache 稳定、功能强大且社区支持广泛。 这篇教程将手把手带你完成在 CentOS 9 上安装和配置 Apache 的全过程,保证你轻松上手!
咱们开始吧!
第一步:安装 Apache
首先,咱们得把 Apache “请”到服务器上。在 CentOS 9 中,这事儿非常简单,只需要一个命令就能搞定。打开你的终端,输入下面的命令:
sudo dnf install httpd -y
这个命令会使用 dnf 包管理器(yum 在新版 CentOS 中其实也是指向 dnf)来安装 Apache HTTP 服务器(在 CentOS 中它的软件包名叫 httpd)。 -y 参数的意思是,在安装过程中遇到任何提示都自动回答“yes”,省去我们手动确认的麻烦。
第二步:启动并设置开机自启
安装好了之后,Apache 服务并不会自动运行。我们需要手动启动它,并且最好将它设置为开机自启,这样以后服务器重启了,网站服务也能自动恢复,岂不美哉?
继续在终端里敲入以下命令:
# 启动 Apache 服务
sudo systemctl start httpd
# 设置 Apache 服务开机自启
sudo systemctl enable httpd
systemctl start httpd 负责启动服务,而 systemctl enable httpd 则创建了一个符号链接,让系统在下次启动时自动运行 Apache。
想知道 Apache 是不是真的成功运行起来了?可以用这个命令来检查一下它的状态:
sudo systemctl status httpd
如果你看到绿色的 “active (running)” 字样,那就说明一切正常!
第三.步:配置防火墙
CentOS 9 默认开启了防火墙,这是一个很好的安全习惯。但这也意味着,防火墙会把外部访问我们网站的请求(默认是 80 端口)给拦下来。所以,我们需要给防火墙开个“口子”。
执行下面的命令,允许 HTTP 和 HTTPS 的流量通过:
# 永久允许 HTTP 服务
sudo firewall-cmd --permanent --add-service=http
# 永久允许 HTTPS 服务(为以后开启 HTTPS 做准备)
sudo firewall-cmd --permanent --add-service=https
# 重新加载防火墙规则,让设置生效
sudo firewall-cmd --reload
这样,你的网站就能被外界访问到了。
第四步:验证安装
万事俱备,只欠东风!现在是时候验证我们的劳动成果了。打开你的浏览器,在地址栏输入你服务器的 IP 地址。
如果你不知道服务器的 IP 地址,可以在终端里输入 ip a 来查看。
如果一切顺利,你应该能看到一个 Apache 的默认欢迎页面。 这说明你的 Apache 网站服务器已经成功安装并运行了!
案例:配置一个简单的虚拟主机
现在,你已经有了一个可以工作的网站服务器。但如果你想在一台服务器上托管多个网站怎么办呢?这就需要用到“虚拟主机”(Virtual Host)了。 咱们来实践一下,假设你要为 your-domain.com 这个域名配置一个网站。
1. 创建网站目录
首先,我们为新网站创建一个独立的目录来存放网页文件:
sudo mkdir -p /var/www/your-domain.com/html
2. 创建一个示例页面
然后,在这个新目录里创建一个简单的 HTML 文件作为网站首页:
echo "Hello, welcome to your-domain.com!" | sudo tee /var/www/your-domain.com/html/index.html
3. 设置正确的权限
为了让 Apache 能够读取这些文件,我们需要把目录的所有权交给 Apache 的运行用户(默认是 apache):
sudo chown -R apache:apache /var/www/your-domain.com
4. 创建虚拟主机配置文件
接下来,在 /etc/httpd/conf.d/ 目录下创建一个新的配置文件。这个目录下的 .conf 文件都会被 Apache 自动加载。
sudo nano /etc/httpd/conf.d/your-domain.com.conf
然后,把下面的内容复制粘贴进去:
<VirtualHost *:80>
ServerName your-domain.com
ServerAlias www.your-domain.com
DocumentRoot /var/www/your-domain.com/html
ErrorLog /var/log/httpd/your-domain.com-error.log
CustomLog /var/log/httpd/your-domain.com-access.log combined
</VirtualHost>
代码解析:
-
<VirtualHost *:80>: 定义了一个监听所有 IP 地址 80 端口的虚拟主机。 -
ServerName: 你的主域名。 -
ServerAlias: 你的别名域名,比如带www的版本。 -
DocumentRoot: 你网站文件的根目录,也就是我们之前创建的那个。 -
ErrorLog和CustomLog: 指定这个站点的错误日志和访问日志存放位置,方便排查问题。
5. 重启 Apache
最后,为了让新的配置生效,我们需要重启 Apache 服务:
sudo systemctl restart httpd
现在,如果你将 your-domain.com 这个域名解析到你的服务器 IP,再通过浏览器访问,你就会看到我们刚刚创建的 “Hello, welcome to your-domain.com!” 这个页面了,而不是默认的欢迎页。
恭喜你!你已经成功在 CentOS 9 上安装并配置了 Apache 网站服务器,并且还学会了如何设置虚拟主机来托管多个网站。接下来,你就可以上传你的网站代码,开始你的建站之旅啦!