在华为云服务器(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 性能更好,资源占用更低,适合云服务器)
✅ 前置准备
-
登录服务器
- 使用 SSH 工具(如 PuTTY、Xshell、Terminal)连接你的 ECS 实例。
ssh root@<your-server-ip>
- 使用 SSH 工具(如 PuTTY、Xshell、Terminal)连接你的 ECS 实例。
-
更新系统
yum update -y -
安装基础工具
yum install -y vim wget curl net-tools git -
配置防火墙(如果启用)
- 确保允许 HTTP(80)和 HTTPS(443)端口通过。
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
- 确保允许 HTTP(80)和 HTTPS(443)端口通过。
-
安全组设置
- 在华为云控制台 → ECS 实例 → 安全组规则中,添加入方向规则:
- 协议:TCP
- 端口:80, 443
- 源地址:0.0.0.0/0(或指定 IP)
- 在华为云控制台 → ECS 实例 → 安全组规则中,添加入方向规则:
🛠️ 方案一:搭建 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 安装向导。
🔒 安全建议
-
禁用 root 远程登录
vim /etc/ssh/sshd_config # 修改 PermitRootLogin no systemctl restart sshd -
定期更新系统和软件
yum update -y -
使用 Let’s Encrypt 免费 SSL 证书
安装 Certbot:yum install -y certbot python2-certbot-nginx certbot --nginx按照提示完成 SSL 配置。
-
限制 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 上搭建网站的流程如下:
- 更新系统 + 安装基础工具
- 安装 Nginx + MariaDB + PHP-FPM
- 配置 Nginx 支持 PHP
- 部署网站文件
- 配置 SSL 和安全策略
此方案适用于大多数中小型网站、博客、企业官网等场景。如需更高性能或容器化部署,可考虑 Docker 或 Kubernetes。
如果你有特定需求(如 Java 应用、Python Flask/Django、Node.js 等),也可以告诉我,我会提供对应环境的搭建指南。
PHPWP博客