在 Linux 服务器上部署静态企业官网,推荐使用 Nginx(高性能、配置灵活)或 Apache(生态成熟)。以下是基于 Nginx + 系统默认环境 的完整步骤,适用于大多数 CentOS/Ubuntu 发行版:
✅ 一、前置准备
-
服务器要求
- 已安装 Linux(推荐 Ubuntu 20.04+ / CentOS 7+)
- 拥有 root 或 sudo 权限
- 开放端口:80(HTTP)、443(HTTPS,可选但强烈推荐)
-
本地准备静态文件
- 确保网站目录结构清晰,例如:
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)?
欢迎告诉我你的具体需求,我可进一步定制方案。
云服务器