Nginx核心知识100讲-极客课程笔记

简介: Nginx核心知识100讲-极客课程笔记

配置文件

#URL隐藏index.php
location / {
if (!-e request\_filename) {  rewrite ^(.\*) /index.php?s=/$1 last;
}
}
#允许txt文件访问
location ~ \.(txt|json)$ {
root /home/www/;
}

1编译自己的Nginx

Nginx官网

nginx.org/en/download…

下载

wget nginx.org/download/ng…

解压

tar -xzf nginx-1.18.0.tar.gz

预编译

cd nginx-1.18.0

查看文件目录

ll

拷贝contrib文件

cp -r contrib/vim/* ~/.vim/

查看configure支持哪些命令

./configure --help | more

指定Nginx安装目录, 配置 nginx

./configure --prefix=/usr/local/nginx

可能有报错
错误为:./configure: error: the HTTP rewrite module requires the PCRE library.
安装pcre-devel解决问题
yum -y install pcre-devel
还有可能出现:
错误提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library.   You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.
解决办法:
yum -y install openssl openssl-devel

make编译nginx(生成2进制)

make

安装nginx(把生成的 2 进制复制到 prefix 指定的安装路径里)

make install

重启nginx重启服务

cd /usr/local/nginx/sbin

./nginx -s reload

报错
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决办法
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

---------------------

nginx热部署

在不打断用户请求的情况下更新版本 切换版本,只更新二进制文件)

记录目录

cd /usr/local/nginx/sbin

查看命令

ps -ef | grep nginx

[root@VM-0-8-centos sbin]# ps -ef | grep nginx
root     16664     1  0 10:59 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody   16671 16664  0 10:59 ?        00:00:00 nginx: worker process
root     17329  1435  0 11:04 pts/0    00:00:00 grep --color=auto nginx

cp nginx nginx.old

ll

kill -USR2 13195

ps -ef | grep nginx

旧的平滑到新的

kill -WINCH 13195

ps -ef | grep nginx (无worker进程了,旧的master还在以做版本恢复)

01ebd755782e4c909dad0843d3544acf.jpeg

日志切割

cd /usr/local/nginx/logs

mv error.log bakerror.log

../sbin/nginx -s reopen

ll

crontab -l

01ebd755782e4c909dad0843d3544acf.jpeg

rotate.sh进行自动备份

01ebd755782e4c909dad0843d3544acf.jpeg

------------------------

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

image.png

查看nginx进程

ps -ef | grep nginx

kill -SIGTERM 16980

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

三次握手

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg


33 | Nginx的模块究竟是什么?

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

34 | Nginx模块的分类

01ebd755782e4c909dad0843d3544acf.jpeg

35 | Nginx如何通过连接池处理网络请求

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg

01ebd755782e4c909dad0843d3544acf.jpeg


目录
相关文章
|
8月前
|
存储 缓存 负载均衡
Nginx入门笔记
Nginx入门笔记
289 0
|
缓存 运维 负载均衡
华为大佬秘密撰写的Nginx运维笔记遭人恶意开源,整整638页全泄露
众所周知,Nginx是当下最流行的Web服务器,它具有很强的负载均衡,反向代理,邮件代理以及静态缓存的功能。在提供这些功能的同时,Nginx的性能也极其优秀,可以轻松支持百万、千万级的并发连接,能够为Tomcat、Django等性能不佳的Web应用抗住绝大部分外部流量。那么,Nginx是如何实现高速并发处理呢? 今天小轩就在这里给大家介绍一份“Nginx”的实战笔记,整整638页。话不多说,直击主题。让我们一起来看看这份有着“百万点击播放量”的Nginx笔记吧。 由于篇幅受限,部分内容只能以截图的方式展示出来。需要完整版点击此处获取。 Nginx应用与运维实战 目录
|
7月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
3月前
|
网络协议 应用服务中间件 nginx
FFmpeg错误笔记(一):nginx-rtmp-module推流出现 Server error: Already publishing
这篇文章讨论了在使用nginx-rtmp-module进行RTMP推流时遇到的“Server error: Already publishing”错误,分析了错误原因,并提供了详细的解决办法,包括修改nginx配置文件和终止异常的TCP连接。
282 0
FFmpeg错误笔记(一):nginx-rtmp-module推流出现 Server error: Already publishing
|
4月前
|
JavaScript Java 应用服务中间件
|
6月前
|
应用服务中间件 Linux nginx
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
《FFmpeg开发实战》书中介绍了如何使用FFmpeg向网络推流,简单流媒体服务器MediaMTX不适用于复杂业务。nginx-rtmp是Nginx的RTMP模块,提供基本流媒体服务。要在Linux上集成rtmp,需从官方下载nginx和nginx-rtmp-module源码,解压后在nginx目录配置并添加rtmp模块,编译安装。配置nginx.conf启用RTMP服务,监听1935端口。使用ffmpeg推流测试,如能通过VLC播放,表明nginx-rtmp运行正常。更多详情见书本。
173 0
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
|
7月前
|
缓存 负载均衡 应用服务中间件
技术笔记:Nginx配置详解
技术笔记:Nginx配置详解
39 0
|
7月前
|
负载均衡 应用服务中间件 开发工具
技术笔记:nginx和keeplive实现负载均衡高可用
技术笔记:nginx和keeplive实现负载均衡高可用
|
8月前
|
负载均衡 算法 前端开发
Nginx笔记
Nginx笔记
60 1
|
Java 应用服务中间件 PHP
[笔记]Nginx使用之作为图片服务器
[笔记]Nginx使用之作为图片服务器
288 0