Nginx 实现静态资源
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,前言nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端
千家信息网最后更新 2025年12月01日Nginx 实现静态资源
前言
nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关资源,例如html,js,css或者图片等放到nginx指定的目录下,访问的时候只需要通过IP加路径就可以实现高效快速的访问,
1、基础环境
1.机器规划
| hostname | ip | role |
|---|---|---|
| web01 | 10.0.0.7 | flask进程(端口5000) |
| lb01 | 10.0.0.5 | 提供Nginx静态资源访问和反向代理 |
2.我自己写了一个基于flask_restful的flask小项目,目录结构为
flask-demo:https://pan.baidu.com/s/1PMx-ULDbQ5FEhlfZchWH9Q
[root@web01 ~]# tree flask-demoflask-demo├── app │ ├── api # 接口文件│ │ ├── base.py│ │ ├── home.py│ │ └── web_html.py│ ├── __init__.py│ ├── libs # 工具函数│ │ ├── commons.py│ │ └── const.py│ └── static # 静态资源│ ├── html│ │ ├── home.html│ │ └── index.html│ ├── img│ │ └── t1.jpg│ └── js│ └── jquery-3.4.1.min.js├── flask_manage.sh # flask启动脚本├── manage.py └── settings.py # flask配置文件可访问的Url:
127.0.0.1:5000/index.html127.0.0.1:5000/home.html安装python版本以及模块
python3.6pop3// 模块(版本影响不大)flaskflask_sqlalchemyflask_restfulflask_sessionflask_wtfflask_scriptflask_migrate2、部署Flask应用
首先,我们需要在web01中部署Flask应用,然后把flask-demo目录下的/static目录给删除,最后在用flask-demo自带的启动脚本来启动flask进程
1.将flask-demo移动至/data目录下
$ mkdir /data$ mv flask-demo /data/2.删除或移动/static/静态目录
mv flask-demo/app/static/ /tmp/3.启动flask进程(一定要先进到flask-demo目录)
$ cd /data/flask-demo$ sh flask_manage.sh start4.访问当前机器5000端口的两个url,我们会发现这两个静态资源是不存在的
3、部署Nginx静态资源代理
1.安装nginx
$ yum install nginx2.将flask-demo压缩包上传到lb01并解压,然后将/statis静态资源移动到/data目录
$ mkdir /data$ tar xf flask-demo.tar.gz$ cp -r flask-demo/app/static/ /data/// 查看静态资源文件/data/└── static ├── html │ ├── home.html │ └── index.html ├── img │ └── t1.jpg └── js └── jquery-3.4.1.min.js3.nginx配置文件
user www;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}http { include /etc/nginx/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 /var/log/nginx/access.log main; sendfile on; keepalive_timeout 65; upstream blog_server_pools { ip_hash; server 10.0.0.7:5000 weight=1; } server { listen 80; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header host $host; location /api { proxy_pass http://blog_server_pools; } location / { alias /data/static/html/; } location /static { alias '/data/static'; } }}启动nginx
$ nginx4.浏览器访问lb01代理
资源
静态
目录
文件
代理
服务器
进程
服务
移动
两个
前端
机器
模块
版本
用途
端口
脚本
项目
应用
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器型号和配置参数
数据库管理系统多少钱
在家创业做软件开发
蓟州区电子网络技术不二之选
如何安装文件服务器资源管理器
扫描文字识别软件开发
某科技发展有限公司在提供互联网
无线连接是网络安全密钥
辨析金融科技与互联网金融的关系
高中数据库教学视频教程
数据库表整理立项
命令行创建不了数据库
云服务器 nginx
我的世界tls服务器手机怎么进
日照网络安全平台登录
思科的思科网络技术学院
数据库更换头像
优享星网络技术
莹若上海互联网科技有限公司
网络安全基础常识题
手机待机完后提示连接不上服务器
电信软件开发项目
ssr暂无订阅服务器
济南数据库招聘
鲲鹏芯片代替x86服务器
mysql数据库1067
网络安全发文
app开发网络安全怎么保证
asp同时两个数据库
网络安全人才与创新基地照片