Nginx 实现静态资源

2020年03月30日 11:39:23   [来源:互联网]   [阅读:-]
字体:【

前言
nginx作为一款高性能的服务器,用途非常多,除了可以做后端服务器的代理,负载均衡之外,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关资源,例如html,js,css或者图片等放到nginx指定的目录下,访问的时候只需要通过IP加路径就可以实现高效快速的访问,

1、基础环境

1.机器规划

hostnameiproleweb0110.0.0.7flask进程(端口5000)lb0110.0.0.5提供Nginx静态资源访问和反向代理

2.我自己写了一个基于flask_restful的flask小项目,目录结构为

[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配置文件
127.0.0.1:5000/index.html127.0.0.1:5000/home.html
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代理

另外还有一些关于c++ Linux后台服务器开发的一些知识点分享:Linux,Nginx,MySQL,Redis,P2P,K8S,Docker,TCP/IP,协程,DPDK,webrtc,音视频等等视频。

喜欢的朋友可以后台私信【1】获取学习视频

附上一份c++ Linux后台服务器开发 学习课程大纲给大家


推荐阅读:手机cpu性能排行


相关新闻
新闻焦点
初见本作时,像素画风下一身铁甲的主角立马让我联想到曾经大火的《铲子骑士(Shovel Knight)》。不过本作的玩法与《铲子骑士》大相径庭,它[更多]
Shadow Tactics(影子战术)是一款以江户时期的日本为背景,硬核的策略性潜入类游戏,采用了经典的盟军敢死队玩法,玩家将指挥5人组成的团[更多]
恐怖游戏《港诡实录》将在今日(1月6日)正式发售,发行商GameraGame日前公布了游戏具体发售时间和首发售价。本作是一款以香港都市传说为题材[更多]
我很惊讶于2019年的今天,能有那么一家不大的开发组,愿意去挑战人猿题材,《先祖:人类奥德赛》从诞生之初就注定与众不同。我对这款游戏的期待值是非[更多]
关于我们 | 联系我们 | 老版地图 | 网站地图 | 版权声明
版权所有:福州汽车网未经授权禁止复制或建立镜像
相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
中国互联网违法和不良信息举报中心 网络警察报警岗亭