在华为云和腾讯云配置 Web 环境,核心思路其实是一致的:先搞定系统基础安全,再装运行环境(Nginx/Apache + PHP/MySQL),最后处理防火墙和域名解析。
虽然两家控制台 UI 不同,但底层逻辑都是 Linux (CentOS/Ubuntu) + 软件栈。下面我以目前最主流的 CentOS 7/8 或 Ubuntu 20.04/22.04 为例,给出一个“从零开始”的标准实操流程。我会尽量避开那些过时的教程坑,直接上干货。
第一阶段:服务器初始化和安全加固(通用)
无论华为云还是腾讯云,买完 ECS/CVM 后,第一步永远是连上去。推荐使用 SSH 客户端(如 Xshell、FinalShell 或 Mac/Linux 自带的 Terminal)。
-
更新系统包
# CentOS sudo yum update -y # Ubuntu sudo apt update && sudo apt upgrade -y -
创建非 root 用户并赋予 sudo 权限(强烈建议)
直接用 root 操作风险太大。创建一个叫webadmin的用户:adduser webadmin usermod -aG wheel webadmin # CentOS # 或者 usermod -aG sudo webadmin # Ubuntu注意:后续所有操作尽量用这个普通用户执行。
-
配置防火墙(关键步骤)
很多新手建站失败就是因为没开端口。- CentOS 7+: 使用
firewalldsudo systemctl start firewalld sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload - Ubuntu: 使用
ufwsudo ufw allow http sudo ufw allow https sudo ufw enable
- CentOS 7+: 使用
第二阶段:安装 Web 服务组件
这里推荐 LNMP 架构(Linux + Nginx + MySQL/MariaDB + PHP),因为性能比 LAMP 好,且并发处理能力更强,适合国内大多数业务场景。
1. 安装 Nginx
# CentOS
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
# Ubuntu
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
验证:浏览器访问 http://你的公网IP,看到 "Welcome to nginx!" 即成功。
2. 安装 MariaDB (MySQL 的分支,兼容性好)
# CentOS
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation # 按提示设置 root 密码,删除匿名用户等
# Ubuntu
sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
3. 安装 PHP 及相关模块
这是最容易出问题的地方,版本选择很重要。目前生产环境推荐 PHP 8.1 或 8.2。
# CentOS (需要额外源支持高版本 PHP)
sudo yum install epel-release
sudo yum install remi-release
sudo yum install php82 php82-php-fpm php82-php-mysqlnd php82-php-opcache php82-php-gd php82-php-xml php82-php-mbstring -y
# Ubuntu (默认源可能版本较低,建议用 ondrej/php 源或直接 apt)
sudo apt install php8.1-fpm php8.1-mysql php8.1-common php8.1-mbstring php8.1-xml php8.1-gd -y
关键点: 安装完后,启动 PHP-FPM:
sudo systemctl start php8.2-fpm # 根据实际版本调整
sudo systemctl enable php8.2-fpm
4. 配置 Nginx 与 PHP 连接
编辑 Nginx 配置文件:
sudo vi /etc/nginx/conf.d/default.conf # CentOS
# 或者
sudo vi /etc/nginx/sites-available/default # Ubuntu
找到 location ~ .php$ 部分,取消注释并确保指向正确的 socket 文件:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 路径需与你安装的 PHP 版本一致
}
测试配置并重载 Nginx:
sudo nginx -t # 检查语法
sudo systemctl reload nginx
第三阶段:云平台特有配置(重中之重)
这是华为云和腾讯云区别于本地服务器的地方。光在系统里开了防火墙没用,云厂商还有“安全组”这一层。
华为云 (ECS)
- 登录华为云控制台 -> 弹性云服务器 ECS。
- 找到你的实例 -> 点击 “安全组” 标签页。
- 点击关联的安全组名称 -> 入方向规则。
- 添加两条规则:
- 协议:TCP,端口:80,源地址:0.0.0.0/0
- 协议:TCP,端口:443,源地址:0.0.0.0/0
- (如果需要远程管理,记得开放 22 端口)
腾讯云 (CVM)
- 登录腾讯云控制台 -> 云服务器 CVM。
- 左侧菜单 -> 安全组 -> 找到关联的安全组。
- 点击 修改规则 -> 入站规则。
- 手动添加:
- 优先级:1,类型:自定义 TCP,端口:80,来源:0.0.0.0/0
- 优先级:1,类型:自定义 TCP,端口:443,来源:0.0.0.0/0
注意:如果安全组没配,你在系统里怎么配防火墙都白搭,网络根本连不上。
第四阶段:部署网站与 HTTPS
1. 上传代码
建议使用 SFTP 工具(如 FileZilla)将你的网站文件(HTML/PHP 等)上传到 /usr/share/nginx/html 或你自定义的目录。确保权限正确:
sudo chown -R www-data:www-data /usr/share/nginx/html # Ubuntu
sudo chown -R nginx:nginx /usr/share/nginx/html # CentOS
2. 申请 SSL 证书(免费方案)
现在没有 HTTPS 的网站会被浏览器标记为“不安全”。
- 华为云:控制台 -> SSL 证书服务 -> 购买免费版 DV 证书(通常限 20 张以内)。下载后上传到服务器。
- 腾讯云:控制台 -> SSL 证书 -> 申请免费证书。下载 Nginx 版本的证书文件(
.crt和.key)。
3. 配置 Nginx HTTPS
修改 Nginx 配置,启用 SSL:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/cert.crt;
ssl_certificate_key /path/to/cert.key;
location / {
root /usr/share/nginx/html;
index index.html index.php;
}
}
# 强制 HTTP 跳转 HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
常见坑点排查(Real Talk)
- 502 Bad Gateway:通常是 PHP-FPM 没启动,或者 Nginx 配置的 socket 路径不对。检查
systemctl status phpXX-fpm。 - 数据库连接失败:确认 MySQL/MariaDB 是否监听的是 localhost,以及是否在
my.cnf中限制了远程访问(一般不需要远程访问,本地连接即可)。 - 权限问题:如果你发现能打开首页,但无法上传图片或写入文件,90% 是文件夹权限不够。不要用
chmod 777,那是偷懒做法。正确做法是确保 Nginx 用户(nginx 或 www-data)拥有该目录的读写权限。 - DNS 解析:配置完 IP 能访问后,记得去域名注册商那里做 A 记录解析,指向你的服务器公网 IP。生效时间可能需要几分钟到几小时。
总结
在华为云或腾讯云建站,80% 的问题出在网络策略(安全组/防火墙)和权限配置上,而不是软件安装本身。
如果你是初学者,不想折腾命令行,可以考虑使用:
- 华为云:应用镜像市场(一键部署 WordPress/LAMP)
- 腾讯云:轻量应用服务器(Lighthouse)里的“WordPress 镜像”或“LNMP 环境”
但对于有一定技术背景的人,手动搭建 LNMP 不仅能让你彻底理解原理,还能在后期优化性能时游刃有余。
云技术博客