华为云服务器Huawei Cloud EulerOS 2.0搭建网站?

在华为云服务器(ECS)上使用 Huawei Cloud EulerOS 2.0 搭建网站,通常指的是基于该操作系统构建一个 Web 服务环境。EulerOS 是华为基于 openEuler 开发的服务器操作系统,兼容 CentOS/RHEL体系,因此其命令和软件包管理方式与 CentOS 7/8非常相似。

以下是详细的步骤指南,帮助你从零开始搭建一个标准的 LAMP(Linux + Apache + MySQL/MariaDB + PHP)或 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)网站环境。


🎯 目标

  • 操作系统:Huawei Cloud EulerOS 2.0
  • 网站类型:静态页面或动态网站(如 WordPress、自定义 PHP 项目等)
  • 推荐方案:LNMP 架构(Nginx 性能更好,资源占用更低,适合云服务器)

✅ 前置准备

  1. 登录服务器

    • 使用 SSH 工具(如 PuTTY、Xshell、Terminal)连接你的 ECS 实例。
      ssh root@<your-server-ip>
  2. 更新系统

    yum update -y
  3. 安装基础工具

    yum install -y vim wget curl net-tools git
  4. 配置防火墙(如果启用)

    • 确保允许 HTTP(80)和 HTTPS(443)端口通过。
      firewall-cmd --permanent --add-service=http
      firewall-cmd --permanent --add-service=https
      firewall-cmd --reload
  5. 安全组设置

    • 在华为云控制台 → ECS 实例 → 安全组规则中,添加入方向规则:
      • 协议:TCP
      • 端口:80, 443
      • 源地址:0.0.0.0/0(或指定 IP)

🛠️ 方案一:搭建 LNMP 环境(推荐)

1. 安装 Nginx

yum install -y nginx
systemctl enable nginx
systemctl start nginx

验证 Nginx 是否运行:

curl http://localhost
# 或访问 http://<your-server-ip>

2. 安装 MariaDB(MySQL 替代品)

yum install -y mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb

初始化数据库安全设置:

mysql_secure_installation

按提示设置 root 密码、删除匿名用户、禁止远程 root 登录等。

3. 安装 PHP 及常用扩展

EulerOS 2.0 默认可能提供较旧版本的 PHP,建议使用 Remi 仓库获取新版 PHP(如 PHP 7.4 或 8.0+)。

添加 Remi 仓库(以 PHP 7.4 为例):

yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74

安装 PHP 及相关模块:

yum install -y php php-mysqlnd php-fpm php-json php-gd php-mbstring php-xml php-zip

启动 PHP-FPM:

systemctl enable php-fpm
systemctl start php-fpm

4. 配置 Nginx 支持 PHP

编辑 Nginx 配置文件:

vim /etc/nginx/conf.d/default.conf

替换或修改 server 块为以下内容:

server {
    listen 80;
    server_name _;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ .php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}

测试并重启 Nginx:

nginx -t
systemctl restart nginx

5. 测试 PHP 是否工作

创建测试文件:

echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php

访问:http://<your-server-ip>/info.php

✅ 如果看到 PHP 信息页面,说明环境搭建成功!


🌐 部署你的网站

方法1:上传静态网站

将你的 HTML/CSS/JS 文件放入 /usr/share/nginx/html/ 目录即可。

方法2:部署 WordPress(示例)

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
cp -r wordpress/* /usr/share/nginx/html/
chown -R nginx:nginx /usr/share/nginx/html
chmod -R 755 /usr/share/nginx/html

然后通过浏览器访问 http://<your-server-ip> 进入 WordPress 安装向导。


🔒 安全建议

  1. 禁用 root 远程登录

    vim /etc/ssh/sshd_config
    # 修改 PermitRootLogin no
    systemctl restart sshd
  2. 定期更新系统和软件

    yum update -y
  3. 使用 Let’s Encrypt 免费 SSL 证书
    安装 Certbot:

    yum install -y certbot python2-certbot-nginx
    certbot --nginx

    按照提示完成 SSL 配置。

  4. 限制 PHP 危险函数
    编辑 /etc/php.ini,找到 disable_functions,添加:

    disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket

📊 监控与维护

  • 查看 Nginx 日志:/var/log/nginx/error.log
  • 查看 PHP-FPM 日志:/var/log/php-fpm/www-error.log
  • 查看 MariaDB 日志:/var/log/mariadb/mariadb.log

❓ 常见问题排查

问题 解决方案
访问网站显示 403 Forbidden 检查文件权限是否为 nginx:nginx,SELinux 是否关闭
PHP 页面显示源码而非执行结果 检查 Nginx 配置是否正确指向 PHP-FPM socket
数据库连接失败 检查 MariaDB 是否运行,用户权限是否正确
无法网络访问 检查华为云安全组和系统防火墙

✅ 总结

在 Huawei Cloud EulerOS 2.0 上搭建网站的流程如下:

  1. 更新系统 + 安装基础工具
  2. 安装 Nginx + MariaDB + PHP-FPM
  3. 配置 Nginx 支持 PHP
  4. 部署网站文件
  5. 配置 SSL 和安全策略

此方案适用于大多数中小型网站、博客、企业官网等场景。如需更高性能或容器化部署,可考虑 Docker 或 Kubernetes。

如果你有特定需求(如 Java 应用、Python Flask/Django、Node.js 等),也可以告诉我,我会提供对应环境的搭建指南。