在 OpenCloudOS 上搭建 Web 站点并配置 Nginx,可以按照以下步骤操作。OpenCloudOS 兼容 CentOS/RHEL 生态,因此可使用 dnf/yum 包管理器安装 Nginx。
一、系统准备与更新
# 更新系统包(推荐)
sudo dnf update -y
# 确保防火墙已启用并允许 HTTP/HTTPS 端口(80/443)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 若未安装 firewalld,可先安装:
# sudo dnf install -y firewalld
# sudo systemctl enable --now firewalld
💡 注意:部分云环境(如阿里云 ECS)可能使用安全组替代防火墙规则,请同步在控制台开放 80/443 端口。
二、安装 Nginx
# 安装 Nginx(OpenCloudOS 默认源包含稳定版 Nginx)
sudo dnf install -y nginx
# 启动并设置开机自启
sudo systemctl enable --now nginx
# 检查状态
systemctl status nginx
验证安装是否成功:
curl http://localhost
# 应返回 Nginx 默认欢迎页 HTML
三、创建网站目录与内容
假设要部署一个静态网站 /var/www/example.com:
# 创建站点根目录
sudo mkdir -p /var/www/example.com/html
# 创建测试页面
cat | sudo tee /var/www/example.com/html/index.html > /dev/null << 'EOF'
<!DOCTYPE html>
<html>
<head><title>Welcome to Example</title></head>
<body>
<h1>Hello from OpenCloudOS + Nginx!</h1>
<p>Web site is running successfully.</p>
</body>
</html>
EOF
# 设置权限(Nginx 通常以 `nginx` 用户运行)
sudo chown -R nginx:nginx /var/www/example.com
sudo chmod -R 755 /var/www/example.com
四、配置 Nginx 虚拟主机
方式一:修改默认配置(适合单站点快速部署)
编辑主配置文件(备份原文件):
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vi /etc/nginx/nginx.conf
找到 server { listen 80; ... } 块,替换为:
server {
listen 80;
server_name example.com www.example.com _; # 替换为你的域名或留 _ 匹配所有
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 可选:日志配置
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
方式二:使用网站点配置(推荐多站点场景)
创建新配置文件:
sudo vi /etc/nginx/conf.d/example.com.conf
内容同上(去掉 listen 80; 前的 server 块嵌套问题),保存后测试语法:
sudo nginx -t
若输出 syntax is ok 和 test is successful,则重载配置:
sudo systemctl reload nginx
五、验证访问
- 本地测试:
curl http://localhost - 外部访问(需确保 DNS 解析 + 安全组/防火墙放行):
curl http://your-domain.com
六、进阶建议(可选)
| 需求 | 操作 |
|---|---|
| 启用 HTTPS | 使用 Let’s Encrypt(certbot)自动申请证书;参考 Certbot 官方文档 |
| PHP 支持 | sudo dnf install -y php-fpm php-cli php-mysqlnd,配置 fastcgi_pass 到 PHP-FPM socket |
| 反向X_X | 在 location / 中使用 proxy_pass http://backend:port; |
| 性能优化 | 调整 worker_processes, keepalive_timeout, gzip 压缩等参数 |
需要我提供:
- ✅ HTTPS + Let’s Encrypt 完整配置示例?
- ✅ Nginx + PHP-FPM 动态站点配置?
- ✅ Docker 部署 Nginx 的方式?
欢迎告诉我你的具体场景,我可进一步定制方案。
云服务器