Nginx配置静态资源服务器

834 阅读2分钟

要使用 Nginx 配置一个静态资源服务器,首先需要安装 Nginx 并确保你的静态资源(如 HTML、CSS、JavaScript 文件、图像等)已上传到服务器的指定目录。接下来,通过 Nginx 配置文件设置服务器,使其可以提供这些静态资源。

1. 安装 Nginx

如果尚未安装 Nginx,可以使用以下命令安装:

# 在 Debian/Ubuntu 系统上
sudo apt update
sudo apt install nginx

# 在 CentOS/RHEL 系统上
sudo yum install nginx

2. 配置 Nginx 静态资源服务器

假设你的静态资源存放在 /var/www/static 目录中,并且你希望通过 http://static.example.com 访问这些资源。

步骤 1:创建 Nginx 配置文件

/etc/nginx/sites-available//etc/nginx/conf.d/ 目录下创建一个新的配置文件,例如 static.conf

sudo nano /etc/nginx/conf.d/static.conf

步骤 2:添加静态资源服务器的配置

在配置文件中添加以下内容:

server {
    listen 80;
    server_name static.example.com;

    # 指定静态资源的根目录
    root /var/www/static;

    # 默认的首页文件
    index index.html;

    # 配置请求处理
    location / {
        try_files $uri $uri/ =404;
    }

    # 设置缓存控制
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public";
    }

    # 启用gzip压缩
    gzip on;
    gzip_types text/css application/javascript image/svg+xml;
    gzip_proxied any;
    gzip_vary on;
}
  • 解释
    • listen 80;:服务器监听 80 端口。
    • server_name static.example.com;:服务器名称(域名),根据实际情况修改。
    • root /var/www/static;:静态资源的根目录。确保目录存在并包含资源文件。
    • index index.html;:默认的首页文件。
    • location / { try_files $uri $uri/ =404; }:尝试加载请求的文件,如果找不到文件,则返回 404 错误。
    • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; add_header Cache-Control "public"; }:为常见的静态文件类型设置缓存,缓存时间为 30 天。
    • gzip on;:启用 gzip 压缩,减少静态资源的传输大小,提高加载速度。

步骤 3:启用配置并重启 Nginx

保存并退出编辑器后,检查 Nginx 配置是否正确:

sudo nginx -t

如果配置无误,重启 Nginx 以应用更改:

sudo systemctl restart nginx

3. 测试服务器

现在,你可以在浏览器中访问 http://static.example.com,Nginx 将会提供位于 /var/www/static 目录下的静态资源。

4. 进一步优化(可选)

  • 使用 HTTPS:为站点配置 SSL 证书以启用 HTTPS。
  • 配置 CDN:通过 CDN 加速全球用户的访问。
  • 更多缓存优化:根据文件类型和更新频率优化缓存策略。

通过以上步骤,Nginx 已经配置为一个静态资源服务器,可以高效地提供前端资源。