Nginx核心知识总结

一:什么是Nginx?

        Nginx是一个高性能的Http反向代理web服务器;主要功能:反向代理;通过配置文件可以实现集群和负载均衡;静态资源虚拟化;

二:什么是反向代理?

        正向代理:客户端请求目标服务器之间的一个代理服务器;请求会先经过代理服务器,然后再转发请求到目标服务器,或的内容后最后响应给客户端;

          反向代理:用户请求目标服务器,由代理服务器决定访问哪个ip;

         路由:

 三:安装Nginx:

        1.上传Nginx到Linux系统;

        2.安装依赖环境:

                1)安装gcc环境:

yum install gcc-c++

                2)安装PCRE库,用于解压正则表达式:

yum install -y pcre pcre-devel

                3)zlib压缩和解压依赖:

yum install -y zlib zlib-devel

                4)SSL安全加密的套接字协议层,用于HTTP安全传输,也就https:

yum install -y openssl openssl-devel

        3.解压nginx:

tar -zxvf nginx-1.20.2.tar.gz

        4.编译之前,创建nginx临时目录,如果不创建,在启动nginx的全过程会报错:

mkdir /var/temp/nginx -p

        5.创建makefile文件:

./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi

           •注:代表在命令行中换行,用于提高可读性
        命令 解释
        —prefix 指定nginx安装目录
        -pid-path 指向nginx的pid
        -lock-path 锁定安装文件,防止被 恶意篡改或误操作
        -error-log 错误日志
        -http-log-path http日志
        -with- 启用gzip模块,在线实
        http_gzip_static_module 时压缩输出数据流
        -http-client-body-temp- 设定客户端请求的临时path 目录
        -http-proxy-temp-path 设定http代理临时目录
        -http-fastcgi-temp-path 设定fastcgi临时目录
        -http-uwsgi-temp-path 设定uwsgi临时目录
        -http-scgi-temp-path 设定scgi临时目录

        6.make编译:make

        7.安装: make install

        8.进入sbin目录:

                启动nginx: ./nginx
                停止:./nginx -s stop
                重新加载:./nginx -s reload

     四:请求Nginx默认页面过程:

                  

     五: Nginx 进程模型:

                master进程:主进程;(Nginx默认一个主进程,一个工作进程,Master是管理者,Worker是工作者)

                worker进程:工作进程;

                查询Nginx进程命令:ps -ef|grep nginx

                可以修改worker进程数:在nginx.con配置文件中

                

         六:Worker抢占机制:

                

        七:Nginx事件处理:

                

               为什么Nginx可以抗住高并发:

                        1)Worker抢占机制: 当一个master主进程监听到一个端口会,会产生一定数量的worker进程,这些worker会去accept锁中抢占客户端请求;

                        2)使用了epoll模型: 当一个worker进程接收到客户端的请求时发生阻塞现象,它会去进行下一个请求;

       八. nginx.conf配置结构:

                

         九.nginx 常用命令总结:

# 关闭nginx 
   ./nginx -s stop
   ./nginx -s quit
# 检测配置文件
   ./nginx -t
# 查询当前nginx版本号
   ./nginx -v

        十.nginx日志分割(手动):

                1)创建一个shell可执行文件: cut_nginx_log.sh

#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
 
#向Nginx主进程发送信息,用于重新打开日志文件
kill -USR1 `cat $PID`

                2)设置可执行权限:

chmod +x cut_nginx_log.sh
chmod -R 777 *

                3)测试启动:

./cut_nginx_log.sh

        十一:nginx日志切割(自动)

                1) 安装定时任务:

yum install crontabs

                2)  编辑并添加一行新的任务:

*/1****/usr/local/nginx/sbin/cut_nginx_log.sh

               3)重启定时任务:

service crond restart

              4)常用定时任务命令:

service crond start  //启动服务
service crond stop   //关闭服务
service crond restart //重启服务
service crond reload  //重新载入配置
crontab -e //编辑任务
crontab -l //查看任务管理

             5)常用定时表达式总结:

// 每分钟执行一次
*/1 * * * (
// 每日凌晨(每天晚上23:59)执行
59 23 * * *
// 每日凌晨1点执行
0 1 * * *

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值