Nginx配置静态资源服务器

0. 引言

本文主要介绍如何使用Nginx配置静态资源服务器,实现可以在任意地方访问你的网页,包括相关配置等教学,有什么遗漏或者更好的方案希望大家积极留言,长期更新。

1. 安装 Nginx

  • 如果尚未安装 Nginx,可以使用以下命令安装:
plain 复制代码
<!----># 在 Debian/Ubuntu 系统上
sudo apt update                         -- 刷新软件源列表,确保安装的是最新版本的软件
sudo apt install nginx                  -- 下载并安装nginx web服务器及其所有依赖项

# 在 CentOS/RHEL 系统上
sudo yum install nginx                  -- yum会自动处理依赖关系和更新软件源,所以不需要单独的update命令
  • 安装过程如下
    • 出现下述提示输入 y 然后回车
    • 出现下述绿色字样即安装成功

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

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

步骤 1:创建 Nginx 配置文件

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

plain 复制代码
sudo nano /etc/nginx/conf.d/static.conf
步骤 2:添加静态资源服务器的配置

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

plain 复制代码
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 配置是否正确:

plain 复制代码
sudo nginx -t

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

plain 复制代码
sudo systemctl restart nginx

3. 测试服务器

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

4. 进一步优化(可选)

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

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

相关推荐
276695829221 分钟前
租车帮(悟空)订单查询算法分析
java·服务器·前端·悟空·悟空app·租车帮·租车帮逆向
青瓦梦滋22 分钟前
Linux进程间通信(IPC)——system V
linux·服务器·c++·文件
XMAIPC_Robot27 分钟前
基于RK3588 ARM+FPGA的电火花数控硬件平台总体设计(二)
运维·arm开发·人工智能·fpga开发·边缘计算
Are_You_Okkk_31 分钟前
研发运维一体化:开源知识库落地案例与价值探析
运维·人工智能·架构·开源
蓝队云计算32 分钟前
深耕本土,安全稳定——云南云服务器为何首推蓝队云
运维·服务器·安全·云服务器·蓝队云
讯捷蓝达33 分钟前
服务器维修立等可取?Dell R730不开机 现场维修分享(东莞长安)
运维·经验分享
陌上花开缓缓归以37 分钟前
linux boot 烧写纪要以及内存相关分析
linux·服务器·网络
m0_694845571 小时前
Docker 从入门到实践教程:docker_practice 完整学习指南
运维·服务器·docker·容器·云计算·github
hweiyu001 小时前
Linux命令:pgrep
linux·运维·服务器
爱写Bug的小孙2 小时前
多智能体概述
服务器·数据库·ai·oracle·agent·多智能体·agentscop