努力
加油

如何在华为云和腾讯云的云服务器上配置Web环境?

在华为云和腾讯云配置 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)。

  1. 更新系统包

    # CentOS
    sudo yum update -y
    # Ubuntu
    sudo apt update && sudo apt upgrade -y
  2. 创建非 root 用户并赋予 sudo 权限(强烈建议)
    直接用 root 操作风险太大。创建一个叫 webadmin 的用户:

    adduser webadmin
    usermod -aG wheel webadmin  # CentOS
    # 或者
    usermod -aG sudo webadmin   # Ubuntu

    注意:后续所有操作尽量用这个普通用户执行。

  3. 配置防火墙(关键步骤)
    很多新手建站失败就是因为没开端口。

    • CentOS 7+: 使用 firewalld
      sudo systemctl start firewalld
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --reload
    • Ubuntu: 使用 ufw
      sudo ufw allow http
      sudo ufw allow https
      sudo ufw enable

第二阶段:安装 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)

  1. 登录华为云控制台 -> 弹性云服务器 ECS。
  2. 找到你的实例 -> 点击 “安全组” 标签页。
  3. 点击关联的安全组名称 -> 入方向规则。
  4. 添加两条规则:
    • 协议:TCP,端口:80,源地址:0.0.0.0/0
    • 协议:TCP,端口:443,源地址:0.0.0.0/0
    • (如果需要远程管理,记得开放 22 端口)

腾讯云 (CVM)

  1. 登录腾讯云控制台 -> 云服务器 CVM。
  2. 左侧菜单 -> 安全组 -> 找到关联的安全组。
  3. 点击 修改规则 -> 入站规则。
  4. 手动添加:
    • 优先级: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)

  1. 502 Bad Gateway:通常是 PHP-FPM 没启动,或者 Nginx 配置的 socket 路径不对。检查 systemctl status phpXX-fpm。
  2. 数据库连接失败:确认 MySQL/MariaDB 是否监听的是 localhost,以及是否在 my.cnf 中限制了远程访问(一般不需要远程访问,本地连接即可)。
  3. 权限问题:如果你发现能打开首页,但无法上传图片或写入文件,90% 是文件夹权限不够。不要用 chmod 777,那是偷懒做法。正确做法是确保 Nginx 用户(nginx 或 www-data)拥有该目录的读写权限。
  4. DNS 解析:配置完 IP 能访问后,记得去域名注册商那里做 A 记录解析,指向你的服务器公网 IP。生效时间可能需要几分钟到几小时。

总结

在华为云或腾讯云建站,80% 的问题出在网络策略(安全组/防火墙)和权限配置上,而不是软件安装本身。

如果你是初学者,不想折腾命令行,可以考虑使用:

  • 华为云:应用镜像市场(一键部署 WordPress/LAMP)
  • 腾讯云:轻量应用服务器(Lighthouse)里的“WordPress 镜像”或“LNMP 环境”

但对于有一定技术背景的人,手动搭建 LNMP 不仅能让你彻底理解原理,还能在后期优化性能时游刃有余。