内网穿透、nginx(负载均衡,Linux运维开发全套学习
location /static/ {
root /path/to/static/folder;
expires 7d;
access\_log off;
}
# 配置其它静态资源的处理
location /images/ {
root /path/to/images/folder;
expires 30d;
access\_log off;
}
}
}
在上述配置中,动态请求(以.php结尾的请求)会被转发给名为dynamic\_backend\_server的后端服务器处理,而静态资源则会由nginx自身根据不同的URL路径进行处理。可以根据实际需求,将不同的静态资源放置在不同的路径或服务器上,并配置相应的location规则。
##
## 3 wsgi uwsgi uWSGI,cgi,fastcgi 分别是什么?
CGI:通用网关接口(Common Gateway Interface/CGI),CGI描述了服务器(nginx,apache)
和请求处理程序(django,flask,springboot web框架)之间传输数据的一种标准
所有bs架构软件都是遵循CGI协议的
一句话总结: 一个标准,定义了客户端服务器之间如何传数据
FastCGI:快速通用网关接口(Fast Common Gateway Interface/FastCGI)是一种让交互程序与Web服务器通信的协议。FastCGI是早期通用网关接口(CGI)的增强版本
FastCGI致力于减少网页服务器与CGI程序之间互动的开销,从而使服务器可以同时处理更多的网页请求
常见的fastcgi服务器:Apache,Nginx,Microsoft IIS
CGI的升级版
WSGI:Python Web Server Gateway Interface,缩写为WSGI,Python定义的Web服务器(比如uWSGI) 和Web应用程序或框架(比如django)之间的一种通用的接口规范
一句话总结:为Python定义的web服务器和web框架之间的接口标准
uWSGI:符合wsgi协议的 web服务器,用c写的,性能比较高,咱们通常用来部署django,flask
一句话总结:一个Web Server(web服务器),即一个实现了WSGI协议的服务器,处理发来的请求及返回响应。
uWSGI:项目上线使用的web服务器
wsgiref:测试阶段使用的
uwsgi:uWSGI服务器实现的独有的协议,用于定义传输信息的类型,是用于前端服务器与 uwsgi 的一种线路协议
一句话总结: uWSGI自有的一个协议

##
## 4 uWSGI跟Nginx
###
## 4.1 uWSGI跟Nginx的区别
uWSGI是一个web服务器,它实现了WSGI协议,uwsgi、http等协议。
Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换,
WSGI是一种Web服务器网关接口,他是一个Web服务器与web应用通信的一种规范
WSGI是一种通信协议
uwsgi是一种线路协议而不是通信协议,在此常用语在uWSGI服务器与其他网络服务器的数据通信
uWSGI是实现了uwsgi和WSGI两种协议的Web服务器
nginx是一个开源的高性能的HTTP服务器和反向代理:
1.作为web服务器,它处理静态文件和索引文件效果非常高
2.它的设计非常注重效率,最大支持5万个并发链接,但只占用很少的内存空间
3.稳定性高,配置简洁。
4.强大的反向代理和负载均衡功能,平衡集群中各个副武器的负载压力应用
###
## 4.2 uwsgi的配置
写一个uwsgi的配置文件,在项目路径下,新建一个 luffyapi.xml
127.0.0.1:8888 # 内部端口,自定义,监听8888端口 /home/project/luffy\_api/ # 项目路径 luffyapi.wsgi # luffy\_api下wsgi.py所在目录名 4 # 进程数 uwsgi.log # 日志文件新建一个luffyapi.xml,复制上面的配置
vi /home/project/luffy_api/luffyapi.xml
使用uwsgi启动
uwsgi -x luffyapi.xml
查看是否正常运行
ps aux |grep uwsgi
###
## 4.3 nginx配置
[nginx配置]( )
events { # 工作模式与连接数上限
worker_connections 1024; # 单个进程最大连接数(最大连接数=连接数*进程数)
}
http { # 设定http服务器
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; # 默认文件类型,二进制文件,浏览器会直接把它下载下来
sendfile on; # 开启高效文件传输模式
server {
listen 80; # 监听80端口
server_name 127.0.0.1; # 定义主机名
charset utf-8;
# 前端静态资源的处理
location / { # 匹配url
root /home/html; # 定义服务器的默认网站根目录位置
index index.html; # 定义首页索引文件的名称
try_files $uri $uri/ /index.html; # 在指定文件系统中查找文件并返回给客户端
}
}
server {
listen 8000;
server_name 127.0.0.1;
charset utf-8;
location / { # 动态请求的转发
include uwsgi_params; # 包含uwsgi的请求参数
uwsgi_pass 127.0.0.1:8888; # # 转交给uwsgi
uwsgi_param UWSGI_SCRIPT luffy_api.wsgi;
uwsgi_param UWSGI_CHDIR /home/project/luffy_api/;
}
location /static { # 后端静态资源的转发
alias /home/project/luffy_api/luffy_api/static;
}
}
}
alias path和root path的区别;
location /images/ {
root “/data/images”
}
http://fansik.fansik.com/images/a.jpg <-- /data/images/images/a.jpg
location /images/ {
alias “/data/images/”
}
http://fansik.fansik.com/images/a.jpg <-- /data/images/a.jpg
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)

以上Linux运维知识点,真正体系化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-W6eNx8P7-1712611843258)]
更多推荐



所有评论(0)