huanayun
hengtianyun
vps567
莱卡云

[Linux操作系统]Nginx静态资源部署详解与实践|nginx 部署静态资源,Nginx静态资源部署

PikPak

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

本文详细介绍了如何在Linux操作系统中使用Nginx服务器部署静态资源。通过实践操作,深入讲解了Nginx配置静态资源的方法,以及优化技巧,为开发者提供了高效、稳定的静态资源部署方案。

本文目录导读:

  1. Nginx简介
  2. Nginx静态资源部署步骤
  3. Nginx静态资源部署注意事项

随着互联网技术的飞速发展,Web应用变得越来越丰富,静态资源(如HTML、CSS、JavaScript等)的部署与管理变得尤为重要,Nginx作为一款高性能的Web服务器,被广泛应用于静态资源的部署,本文将详细介绍Nginx静态资源部署的方法、步骤以及注意事项。

Nginx简介

Nginx(发音为“Engine-X”)是一个高性能的HTTP和反向代理服务器,同时也提供了一个IMAP/POP3邮件代理服务器,Nginx是由俄罗斯程序员Igor Sysoev开发的,第一个版本发布于2004年,Nginx以其高性能、稳定性、低资源消耗和强大的功能而著称,是目前最流行的Web服务器之一。

Nginx静态资源部署步骤

1、准备环境

在部署Nginx之前,首先需要确保操作系统支持Nginx,目前,Nginx支持Linux、Unix、Mac OS X等操作系统,以下以Linux系统为例进行说明。

安装Nginx前,需要安装以下依赖库:

- gzip:用于压缩文件

- OpenSSL:用于加密

- pcre:用于正则表达式处理

可以使用以下命令安装依赖库:

yum install -y gzip openssl pcre pcre-devel

2、安装Nginx

从Nginx官方网站下载最新版本的Nginx源码包,然后编译安装:

wget http://nginx.org/download/nginx-1.21.3.tar.gz
tar zxvf nginx-1.21.3.tar.gz
cd nginx-1.21.3
./configure
make
make install

安装完成后,Nginx的可执行文件将位于/usr/local/nginx/sbin/nginx

3、配置Nginx

Nginx的配置文件位于/usr/local/nginx/cOnf/nginx.conf,以下是配置静态资源的基本步骤:

(1)设置工作模式和进程数:

worker_processes  1;

(2)设置全局日志和PID文件路径:

error_log  logs/error.log warn;
pid        logs/nginx.pid;

(3)设置events模块:

events {
    worker_connections  1024;
}

(4)设置http模块:

http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    keepalive_timeout  65;
    types_hash_max_size 2048;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 30d;
            add_header Cache-Control "public";
        }
    }
}

在上述配置中,root指令指定了静态资源的根目录,这里设置为html目录。location指令用于匹配请求的URL,其中~* .(jpg|jpeg|png|gif|ico|css|js)$表示匹配所有以.jpg.jpeg.png.gif.ico.css.js结尾的请求。expires指令用于设置资源的缓存时间,这里设置为30天。add_header指令用于添加响应头。

4、启动Nginx

启动Nginx的命令如下:

/usr/local/nginx/sbin/nginx

5、测试Nginx

在浏览器中输入http://localhost/,如果能够看到Nginx的欢迎页面,则表示Nginx已成功启动。

Nginx静态资源部署注意事项

1、资源压缩

为了提高页面加载速度,可以使用Nginx对静态资源进行压缩,在Nginx配置文件中添加以下配置:

gzip  on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

2、资源缓存

为了提高用户体验,可以使用HTTP缓存机制对静态资源进行缓存,在Nginx配置文件中添加以下配置:

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public";
}

3、跨域访问

在前后端分离的开发模式中,可能需要设置跨域访问,在Nginx配置文件中添加以下配置:

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

4、防止盗链

为了防止静态资源被其他网站盗链,可以在Nginx配置文件中添加以下配置:

valid_referers none blocked server_names ~^http://(www.)?example.com/;
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
    if ($invalid_referer) {
        return 403;
    }
    expires 30d;
    add_header Cache-Control "public";
}

5、防止目录遍历

为了防止用户通过URL遍历访问服务器上的文件,可以在Nginx配置文件中添加以下配置:

autoindex off;

本文详细介绍了Nginx静态资源部署的步骤、配置以及注意事项,通过合理配置Nginx,可以提高Web应用的性能和用户体验,在实际部署过程中,还需根据具体需求进行调整和优化。

中文相关关键词:Nginx, 静态资源, 部署, 步骤, 配置, 注意事项, 工作模式, 进程数, 全局日志, PID文件, events模块, http模块, server模块, location指令, 资源压缩, 缓存, 跨域访问, 防止盗链, 目录遍历, 性能优化, 用户体验

bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Nginx静态资源部署:nginx静态资源文件

原文链接:,转发请注明来源!