Nginx学习之静态文件服务器配置方法

  

Nginx学习之静态文件服务器配置方法

概述

在Web开发中,静态文件服务器(Static Files Server)是指能够有效且迅速地处理静态文件的服务器。通过静态文件服务器,我们可以快速地响应静态资源文件的请求,如CSS、JavaScript、图片等。 Nginx是一个高性能、高并发、高稳定性的Web服务器,常被用于静态资源文件的服务配置。
本文主要介绍如何使用Nginx配置静态文件服务器来提高静态资源的访问速度。

Nginx静态文件服务器的配置方法

步骤一:安装Nginx

在配置Nginx静态文件服务器之前,我们需要先安装Nginx。在Ubuntu系统上,执行以下命令即可完成安装:

sudo apt update
sudo apt install nginx

步骤二:配置Nginx静态文件服务器

  1. 创建Nginx配置文件,将默认的Nginx配置文件备份并新建一个自定义的Nginx配置文件:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vim /etc/nginx/nginx.conf
  1. 在Nginx配置文件中添加以下内容,以确保访问日志写入/var/log/nginx/access.log:
user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;

        server_tokens off;

        server_names_hash_bucket_size 512;
        server_names_hash_max_size 4096;

        client_max_body_size 100M;

        access_log /var/log/nginx/access.log;

        ##
        # Static content
        ##

        server {
                listen 80 default_server;
                listen [::]:80 default_server;

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

                server_name _;

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

                location /static {
                    alias /var/www/static/;
                }
        }

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##
}

  1. 在Nginx配置文件的“Static content”部分,我们配置了一个静态资源文件的目录,即/var/www/static。每当有客户端请求 Nginx 服务器上 /static 路径下的资源文件(如图片、CSS或JavaScript)时,Nginx就会将请求转到服务器上的/var/www/static目录下。请确保您的静态文件确实存储在这个目录下,并且路径正确。

步骤三:测试Nginx服务器

我们使用两个例子来说明如何测试Nginx静态文件服务器的正确配置。

示例一:测试HTML文件的静态资源文件服务

  1. 在/var/www/static/目录下创建一个HTML文件并命名为index.html。将以下代码粘贴到HTML文件中。代码中的body部分包含了两个静态资源文件:一个本地的CSS文件和一个外部的JavaScript库。
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Nginx Static File Server</title>
    <link rel="stylesheet" type="text/css" href="/static/css/styles.css">
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.7.1.min.js"></script>
</head>
<body>
    <h1>Nginx Static File Server</h1>
    <p>Testing the serving of a few static files using Nginx.</p>
</body>
</html>
  1. 启动Nginx服务:
sudo systemctl start nginx
  1. 在浏览器中输入以下地址,即可访问我们创建的HTML文件:http://your-server-ip/static/index.html。在您的服务器的 IP 地址替换为您的服务器的 IP 地址即可。

  2. 如果Nginx服务器配置正确,您应该可以看到页面上的标题,两个样式和一些文本。页面外部部分引用的JavaScript库必须在线程上运行。

示例二:测试图片文件的静态资源文件服务

  1. 我们将使用一个本地图片文件作为示例。首先需要将这个图片文件上传到您的服务器上的"/var/www/static"目录下。

  2. 创建一个HTML文件test_image.html,将以下代码粘贴到HTML文件中。代码中的body部分包含了静态资源文件img标签的引用。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Nginx Static File Server</title>
</head>
<body>
    <h1>Nginx Static File Server</h1>
    <p>Testing the serving of a few static files using Nginx.</p>
    <img src="/static/cat.jpg" width="800px" alt="Ginger Cat">
</body>
</html>
  1. 重启Nginx服务:
sudo systemctl restart nginx
  1. 在浏览器中输入以下地址,即可访问我们创建的HTML文件:http://your-server-ip/static/test_image.html。请替换您的服务器的 IP 地址为实际的服务器 IP 地址。

  2. 如果Nginx服务器配置正确,您应该可以看到页面上显示的您的服务器上的测试图片。

总结

在本教程中,我们学习了如何使用Nginx配置静态文件服务,并提供了两个示例说明来帮助您测试您的Nginx服务器是否已正确安装和配置。Nginx作为高性能的Web服务器,可以用于静态文件的服务配置,提高静态资源的访问速度。希望这篇文章能帮助您更好地理解Nginx静态文件服务器的配置。

相关文章