Nginx 实现静态资源
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,前言nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端
千家信息网最后更新 2024年11月26日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安全错误
数据库的锁怎样保障安全
lol的服务器互通吗
查找某个基因数据库
甲骨文oracle数据库授权
暗黑2 排队连不上服务器
谷歌浏览器连不上代理服务器
服务器的主要部件包含
菏泽智慧医养软件开发公司
山东dell服务器怎么收费
我想放网络安全手抄报
数据库提示启动又自动关闭
打ip的服务器
工控网络安全 市场
安全工程师证数据库
我的世界房主不在服务器
macbook改成服务器
数据库方向考研专业
sql数据库添加新的列
数据库有效性规则
应急局网络安全工作汇报
科大讯飞邮箱收件服务器主机名
浙江曙光服务器维修维保多少钱
数据库系统核心是数据管理系统
国际水文数据库
芝麻街视频软件开发
vs统计数据库表的数据汇总
服务器设置不了软件
软件开发工作内容交接文档
深圳宝德科技集团服务器
数据库有效性规则
汉中软件开发成交价