奋斗
努力

如何在Linux服务器上部署静态企业官网?

云计算

在 Linux 服务器上部署静态企业官网,推荐使用 Nginx(高性能、配置灵活)或 Apache(生态成熟)。以下是基于 Nginx + 系统默认环境 的完整步骤,适用于大多数 CentOS/Ubuntu 发行版:


✅ 一、前置准备

  1. 服务器要求

    • 已安装 Linux(推荐 Ubuntu 20.04+ / CentOS 7+)
    • 拥有 root 或 sudo 权限
    • 开放端口:80(HTTP)、443(HTTPS,可选但强烈推荐)
  2. 本地准备静态文件

    • 确保网站目录结构清晰,例如:
      my-company-site/
      ├── index.html
      ├── css/
      │   └── style.css
      ├── js/
      │   └── main.js
      ├── images/
      └── favicon.ico
    • 检查 index.html 是否为首页入口(Nginx 默认查找顺序含 index.html)

🚀 二、部署步骤(以 Ubuntu 为例)

1️⃣ 安装 Nginx

sudo apt update
sudo apt install nginx -y
# 验证服务状态
sudo systemctl status nginx

2️⃣ 上传并放置网站文件

方式一:直接上传到 /var/www/html(简单场景)

sudo mkdir -p /var/www/mycompany.com
sudo cp -r ~/my-company-site/* /var/www/mycompany.com/
sudo chown -R www-data:www-data /var/www/mycompany.com
sudo chmod -R 755 /var/www/mycompany.com

💡 建议:按域名创建独立目录(如 /var/www/mycompany.com),便于多站点管理。

3️⃣ 配置 Nginx 站点

创建虚拟主机配置:

sudo nano /etc/nginx/sites-available/mycompany.com

填入以下内容(根据实际域名修改):

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/mycompany.com;
    index index.html index.htm;

    # 启用 Gzip 压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # 安全头(可选)
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;

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

    # 缓存静态资源(提升性能)
    location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

启用站点并测试配置:

sudo ln -s /etc/nginx/sites-available/mycompany.com /etc/nginx/sites-enabled/
sudo nginx -t          # 检查语法
sudo systemctl reload nginx

4️⃣ 配置防火墙(若开启)

# Ubuntu (UFW)
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable

# CentOS (firewalld)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

🔒 三、(推荐)配置 HTTPS(Let’s Encrypt)

使用 certbot 免费申请证书:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

✅ 自动完成:

  • 生成证书
  • 配置重定向 HTTP → HTTPS
  • 设置自动续期(cron job 已内置)

验证访问:
👉 https://yourdomain.com


📊 四、验证与监控

  • 访问首页:curl -I https://yourdomain.com
  • 查看日志:
    sudo tail -f /var/log/nginx/access.log
    sudo tail -f /var/log/nginx/error.log
  • 性能优化建议:
    • 启用 CDN(如 Cloudflare)
    • 压缩图片(WebP 格式)
    • 添加 Cache-Control 策略

🔄 五、持续更新维护

  • 更新内容后无需重启 Nginx,只需:
    sudo systemctl reload nginx
  • 定期备份:
    tar czf backup_$(date +%F).tar.gz /var/www/mycompany.com

需要我提供:

  • 📁 自动化部署脚本(Shell/Ansible)?
  • 🌐 多语言/多站点配置示例?
  • 🛡️ 安全加固清单(如 fail2ban、WAF)?

欢迎告诉我你的具体需求,我可进一步定制方案。

未经允许不得转载:云服务器 » 如何在Linux服务器上部署静态企业官网?