Nginx 实现静态资源
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,前言nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
我军网络安全架构的背景
数据库分离后附加出现错误
服务器版本管理
地表反射率数据库
天津工控网络安全
美国科技创新数据库
赣州网络安全应急指挥中心
数据库原理与应用潘勇浩电子书
会议服务器管理软件
存储加密服务器海
啥叫互联网科技
江西pdu服务器电源哪家专业
北京壁球软件开发
浙江服务器代理商
网络安全法第三十条规定内容
济南采购设备管理软件开发
软件开发公司贴牌
无法打开数据库错误代码32
中国移动4g网络技术标准
三个帮(北京)网络技术
公安部网络安全局认证
数据库应用基础考试题填空
dna数据库能修改个人信息吗
erlang服务器架构
苹果开发app软件开发
学生网络技术服务选择
上海悠技网络技术有限公司
软件开发合同范本模板下载
服务器怎么连接打印机
云数据库可以多少人同时在线