导读:本期聚焦于日本程序员创作的《如何在阿里云ECS上搭建Apache环境?从购买服务器到网站上线完整教程》,敬请观看详情。想让网站跑起来,一台阿里云ECS加上Apache就够了吗?本文从零开始演示完整的搭建流程,包括ECS实例选购要点、远程登录方式、系统更新操作、Apache的安装与启动验证、防火墙与安全组端口配置,以及虚拟主机和多站点绑定的实战配置。文中还整理了常见报错的处理办法,比如80端口被占用、页面访问被拒绝等问题。不管你是第一次接触云服务器,还是准备把自己的项目迁移上云,都可以按照步骤一步步操作,快速搭建出一套稳定可用的Web服务环境。

阿里云ECS(Elastic Compute Service)是目前国内使用最广泛的云服务器产品之一,而Apache作为老牌的开源Web服务器,依然是部署静态网站和PHP应用的主流选择。本文将以CentOS和Ubuntu两种常见系统为例,完整讲解从登录服务器到Apache成功对外提供服务的全过程,并覆盖安全组配置这一最容易踩坑的环节。

如何在阿里云ECS上搭建Apache环境?从购买服务器到网站上线完整教程

一、准备工作:购买实例并远程登录

登录阿里云控制台后,在产品列表中找到云服务器ECS,点击创建实例。操作系统建议选择CentOS 7.9或Ubuntu 22.04这类长期支持版本,带宽按需选择,个人学习用途1Mbps到3Mbps通常够用。实例创建时务必设置好登录凭证,可以选择密钥对(更安全)或者自定义root密码。

实例运行起来之后,记住公网IP地址。Linux和Mac用户可以直接在终端执行ssh命令登录:

ssh root@你的公网IP

Windows用户推荐使用PuTTY或者Windows Terminal自带的OpenSSH客户端。第一次连接会提示指纹确认,输入yes即可。登录成功后,先更新软件源,保证后续安装的软件包是最新版本。

CentOS系统执行:

yum update -y

Ubuntu系统执行:

apt update && apt upgrade -y

二、安装并启动Apache服务

Apache在CentOS中的软件包名叫httpd,在Ubuntu中则叫apache2,名称不同但功能一致。安装命令如下。

CentOS安装:

yum install -y httpd
systemctl start httpd
systemctl enable httpd   # 设置开机自启

Ubuntu安装:

apt install -y apache2
systemctl start apache2
systemctl enable apache2

启动完成后,可以先在服务器本地验证一下服务是否正常:

curl -I http://127.0.0.1

如果返回HTTP 200状态码,说明Apache已经在本地正常监听80端口。此时在浏览器中输入公网IP,如果能看到Apache的默认欢迎页面,说明环境已经通了。如果本地curl正常但浏览器打不开,问题几乎都出在安全组,下一节详细说明。

三、配置安全组与防火墙放行80端口

阿里云ECS默认有两层网络隔离:安全组和系统内的防火墙(firewalld或ufw)。很多初学者只在系统里放行了端口却仍然无法访问,原因就是忽略了安全组这一层。

安全组的配置位置在控制台:进入ECS实例详情页,点击安全组选项卡,进入安全组规则,添加一条入方向规则,协议类型选择HTTP(80),授权对象填0.0.0.0/0表示对所有IP开放。如果后续要上HTTPS,还需要同样方式放行443端口。

系统内部防火墙也要同步放行:

# CentOS
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

# Ubuntu
ufw allow 80/tcp
ufw status verbose

需要强调的是,安全组是作用在云平台虚拟网络层的,优先级高于系统防火墙。也就是说,即使系统防火墙全部放行,安全组没有开80端口,外部请求依然会被拦截。两层都配置正确后,再用浏览器访问公网IP验证。

四、部署网站文件与虚拟主机配置

Apache默认的网站根目录,CentOS在/var/www/html,Ubuntu同样在/var/www/html。把自己的网页文件上传到这个目录即可完成最简单的部署。上传可以使用scp命令:

scp -r ./mywebsite/* root@你的公网IP:/var/www/html/

当需要在同一台服务器上托管多个网站时,就要用到虚拟主机功能。以Ubuntu为例,在/etc/apache2/sites-available/目录下新建配置文件:

<VirtualHost *:80>
    ServerName www.ipipp.com
    DocumentRoot /var/www/site1
    <Directory /var/www/site1>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/site1_error.log
    CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
</VirtualHost>

CentOS用户则是在/etc/httpd/conf.d/目录下新建.conf文件,写法基本相同。配置完成后启用站点并重启服务:

a2ensite site1.conf
systemctl reload apache2

记得把域名解析的A记录指向ECS公网IP,如果域名在国内使用还需要完成ICP备案,否则80和443端口会被阿里云拦截。

五、常见问题排查

页面访问被拒绝(403 Forbidden):检查网站目录权限,确保目录可读可执行,通常执行chmod -R 755 /var/www/html即可。SELinux开启的CentOS系统还需要执行chcon -R -t httpd_sys_content_t /var/www/html修改安全上下文。

80端口被占用:用netstat -tlnp | grep 80ss -tlnp | grep 80查看占用进程,常见冲突来源是Nginx,先停掉对应服务或者改用不同端口。

修改配置后不生效:先用apachectl configtest检查语法是否有误,CentOS对应命令是httpd -t,确认Syntax OK后再reload服务,避免直接restart导致服务起不来。

按照以上步骤操作,一套稳定运行的Apache Web环境就搭建完成了。后续如果需要支持PHP应用,安装对应的PHP模块并重启Apache即可扩展成完整的LAMP架构。

阿里云ECSApache环境搭建LAMP部署修改时间:2026-09-02 10:54:34

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编写,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/20260902/48882.html,基于非商业使用的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。