linux-location/LNMP架构
2022/1/7 7:05:02
本文主要是介绍linux-location/LNMP架构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
location
Nginx的HTTP配置主要包括三个区块,结构如下: http { //这个是协议级别 include mime.types; default_type application/octet-stream; keepalive_timeout 65; gzip on; server { //这个是服务器级别 listen 80; server_name localhost; location / { //这个是请求级别 root html; index index.html index.htm; } } }
使用nginx location可以控制访问的路径,一个server可以有多个location配置,多个location配置有优先级。
location匹配符号
匹配符 | 匹配规则 | 优先级 |
---|---|---|
= | 精确匹配 | 1 |
^~ | 以某个字符串开头 | 2 |
~ | 区分大小写的正则匹配 | 3 |
~* | 不区分大小写的正则匹配 | 3 |
/ | 通用匹配,任何请求都会匹配到 | 4 |
⚠️注意: location /img/ { root /var/www/image; } 这种配置的话,则访问/img/下的文件时,nginx会去/var/www/inage/img/目录下去找文件,root是最上层目录的定义 location /img/ { alias /var/www/image; } 这种配置的话,访问/img/目录的文件时,nginx自动会去/var/www/image/目录去找,alias是一个目录别名的定义。
LNMP
一、什么是LNMP
LNMP是一套技术的组合,L=Linux,N=Nginx,M=MySQL,P=Python,首先Nginx是不能处理动态请求的,那么当用户发起动态请求时,nginx的处理如下: 1、静态请求:请求的内容是静态文件就是静态请求 (1)静态文件:文件上传到服务器,永远不会改变的就是静态文件。 (2)html就是一个标准的静态的文件 2、动态请求:请求的内容是动态的就是动态的请求 (1)不是真实存在在服务器上的内容,是通过数据库活着其他服务拼凑的数据 当用户发起http请求时,请求会被nginx处理,如果时静态资源,nginx则会直接返回,如果时动态请求,nginx则通过uwsgi协议交给后端的python处理
二、什么是uwsgi
WSGI
全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。 WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。 WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。 很多框架都自带了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。当然性能都不好,自带的 web server 更多的是测试用途,发布时则使用生产环境的 WSGI server或者是联合 nginx 做 uwsgi
uWSGI
uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。 WSGI看过前面小节的同学很清楚了,是一种通信协议。 uwsgi同WSGI一样是一种通信协议。 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。 uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西。
三、uwsgi服务部署
1、创建用户 [root@web03 ~]# groupadd django -g 888 [root@web03 ~]# useradd django -u 888 -g 888 -r -M -s /bin/sh 2、安装依赖软件 [root@web03 ~]# yum install python3 libxml* python-devel gcc* pcre-devel openssl-devel python3-devel -y 3、安装Django和uwsgi [root@web03 ~]# pip3 install django==1.11 [root@web03 ~]# pip3 install uwsgi 4、创建项目 [root@web03 ~]# cd /opt [root@web03 /opt]# django-admin startproject linux [root@web03 /opt]# cd linux
这篇关于linux-location/LNMP架构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结
- 2024-03-13how to count number of directories in linux