Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
目录* Nginx 基础入门
+ 1、Nginx简介
- 1.1、相关名词解释
+ 2、Nginx优势
+ 3、Nginx部署
+ 4、Nginx配置文件
+ 5、Nginx模块
+ 6、Nginx配置文件
- 6.1、Location配置优先级
* 6.1.1、location匹配符号
- 6.2、http、server、location三者关系(通俗理解)
- 6.3、include : 加载外部的配置项
+ 7、Nginx虚拟主机
- 7.1、自定义网站
- 7.2、三种方式
* 7.2.1、基于多IP的方式
* 7.2.2、基于多端口的方式
* 7.2.3、基于多域名的方式
+ 8、Nginx 日志
- 8.1、日志配置
* 8.1.1、日志模块名称
* 8.1.2、相关指令
* 8.1.3、日志格式和命令
- 8.2、个性化404页面
- 8.3、日志缓存
- 8.4、日志轮转 / 切割
- 8.5、日志分析
* 8.5.1、 PV、UV、IP
+ 8.5.1.1、简介
+ 8.5.1.2、三者关系
* 8.5.2、分析案例
+ 9、Nginx Web 模块
- 9.1、连接状态模块
* 9.1.1、keepalive长连接
- 9.2、随机主页模块
- 9.3、替换模块
- 9.4、文件读取模块
- 9.5、文件压缩模块
- 9.6、页面缓存模块
- 9.7、防盗链模块
* 9.7.1、日志格式字段
- 9.8、访问限制模块
* 9.8.1、ngx_http_limit_req_module模块
* 9.8.2、ngx_http_limit_conn_module模块
- 9.9、访问控制模块
* 9.9.1、控制ip访问
* 9.9.2、控制用户访问
- 9.10、目录索引模块
+ 10、HTTP 协议
+ 11、HTTPS
+ 12、Nginx rewrite
+ 13、Nginx平滑升级
- 13.1、Nginx 平滑增加模块
+ 补:博文链接
Nginx 基础入门
1、Nginx简介
百度解释:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
总结:Nginx(engine x)是一个高性能的
HTTP
(解决C10k的问题)和反向代理
服务器,能够实现动静分离技术(动态请求和静态请求),也是一个IMAP/POP3/SMTP
服务器,
1.1、相关名词解释
HTTP:HTTP的服务器端实现程序有httpd、nginx等,而且nginx支持高并发!👉HTTP
反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。👉反向代理
SMTP:SMTP是一种提供可靠且有效的电子邮件传输的协议。(非重点)
2、Nginx优势
nginx优势:高并发、I/O多路复用、epoll模型:异步且非阻塞
-
I/O多路复用(重点)
- 理论:I是input输入,O是output输出,nginx的I/O多路复用,提高了服务器的吞吐能力,同一个线程里面,通过开关的方式,来同时传输多个I/O流,比如你去帮同事解决问题,A同事问你错误原因,B同时问你怎么安装的问题,你同时去帮他们解决;
- 技术分类:select、poll、epoll(epoll模块实现I/O多路复用)
- 特点:异步、非阻塞
- 特点比喻:
- 同步:比如AB石头剪刀布同时出为同步
- 异步:石头剪刀布不同时出异步
- 阻塞:去上厕所,不上完厕所不去干别的事
- 非阻塞:厕所人多可以先去忙别的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Q401gff-1641762340457)(https://www.zhe94.com/wp-content/uploads/2020/10/57f92ece3947b41783ac0e1959863916.png)]
-
时分多路复用:时分多路复用(Time-Division Multiplexing,TDM)是一种数字或者模拟(较罕见)的多路复用技术,比如CPU的分时计算,你想去听歌或者看电影,CPU需要不断的切换去处理你的个人需求,把时间分成块,只不过处理的比较快,个人感觉不到。
-
频分多路复用:频分多路复用,是在适于某种传输媒质的传输频带内,若干个频谱互不重叠的信号一并传输的方式,比如现在既可以打电话也可以上网,就是用到了此技术。
3、Nginx部署
选择download
- 编译安装
如果需要平滑增加模块使用此安装
- yum安装:nginx: Linux packages
如果不需要指定模块,此安装会自动安装很多模块
推荐yum安装,去官网找仓库,配置文件不需要改,主线版本不要打开~使用稳定版就行
- 如何安装我总结在此博文Nginx部署
4、Nginx配置文件
查看相关配置文件:rpm -ql nginx
[root@web01 ~]# rpm -ql nginx
/etc/logrotate.d/nginx # 日志轮转文件*
/etc/nginx/nginx.conf # 总配置文件*
/etc/nginx/conf.d # 子配置文件*
/etc/nginx/conf.d/default.conf #默认网站配置文件 *
/etc/nginx/fastcgi_params # 动态网站模块文件-python,php所需的相关变量
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/mime.types # 文件关联程序:网站文件类型和相关处理程序
/etc/nginx/modules # nginx模块文件
/usr/lib/systemd/system/nginx-debug.service # nginx调试程序启动脚本
/usr/lib/systemd/system/nginx.service
/usr/lib64/nginx
/usr/lib64/nginx/modules
/usr/libexec/initscripts/legacy-actions/nginx
/usr/libexec/initscripts/legacy-actions/nginx/check-reload
/usr/libexec/initscripts/legacy-actions/nginx/upgrade
/usr/sbin/nginx # 主程序
/usr/sbin/nginx-debug # 调试程序
# man nginx手册文件如下
/usr/share/doc/nginx-1.20.2
/usr/share/doc/nginx-1.20.2/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx # 缓存文件
/var/log/nginx # 日志文件
5、Nginx模块
yum安装,自带的模块剖析
# yum安装的模块如下都安装好了,模块是固定的,如果想自定义增加模块使用编译安装才可以
[root@web01 sbin]# nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Re