Nginx 实现静态资源
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,前言nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端
千家信息网最后更新 2025年01月23日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_migrate
2、部署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 start
4.访问当前机器5000端口的两个url,我们会发现这两个静态资源是不存在的
3、部署Nginx静态资源代理
1.安装nginx
$ yum install nginx
2.将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.js
3.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
$ nginx
4.浏览器访问lb01代理
资源
静态
目录
文件
代理
服务器
进程
服务
移动
两个
前端
机器
模块
版本
用途
端口
脚本
项目
应用
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
公司租服务器是干嘛的
网络安全宣传标语20字
qt创建数据库链接
比价软件开发
华中科技大学网络安全排名
如何访问本地数据库
服务器允许创建管理员账号
中楷网络技术有限公司怎么样
林导软件开发模式设计
华为弹性云服务器centos
如何找到arcgis中的数据库
网站服务器多少钱一年
国泰安数据库 高
支付回调页面怎么修改数据库
服务器架构演进
健康云服务器瘫痪
更改sql数据库 所有者
未来网络安全20问
系统防护与网络安全论文
上海软件开发类的技术学校
四川成都软件开发外包
陈鑫杰网络安全课程
我的世界服务器登录页面
服务器 集群
文件共享服务器讲解
关系数据库系统的结构
纪实软件开发
中兴数据南京软件开发二部
系统防护与网络安全论文
rdp 服务器