• Nginx教程[归档]


    前言

    其一,Nginx不是随随便便一篇博文就能讲清楚的,严谨地说,笔者连入门者都算不上;其二,此文系前段日子里,学习Nginx时的笔记归档类博文,还有诸多不完整处,仅供参考。
    写这篇博文的时间点:2019-06-17 22:58,寝室在六楼,刚刚感受到了地震的余波。
    

    定义

    	定义:Nginx是一个最初由俄国程序设计师lgor Sysoev开发的高性能的Web服务器和反向代理服务器,用于HTTP/HTTPS/SMTP/POP3和IMAP协议。
    	特性:
    		反向代理/负载均衡器
    	与Apache的区别
    		Nginx									Apache
    		Nginx是一个基于事件的Web服务器			Apache是一个基于流程的服务器
    		所有请求都由一个线程处理					多线程性。一个线程处理一道请求。
    		Nginx避免子进程的概念					Apache是基于子进程的
    		Nginx类似于速度							Apache类似于功率
    		Nginx在负载均衡方面表现较好(用C编写)		Apache在内存消耗和连接上没有提高
    		Nginx支持PHP,对于PHP来说,Nginx更可取	当流量达到进程的极限时,Apache将拒绝新的连接
    		Nginx只具有核心功能						Apache支持的PHP/Python/Perl和其他语言使用插件时,当程序基于Python或Ruby时,非常有用
    		Nginx的性能和可伸缩性不依赖于硬件			Apache支持更多的OS
    												Apache提供了比Nginx更多的功能
    		Nginx占用内存小,但并发能力强	  			Apache依赖于CPU和内存等硬件组件	
    

    Nginx工作原理

    	+ 默认情况下,运行中的nginx会包含:1X主进程(master process)和NX工作进程(worker process)
    	+ 主进程
    		充当监控进程,而主进程生成的子进程则充当工作进程。
    		主进程充当整个进程组与管理用户的交互接口,同时对进程进行监护。
    		它不需要处理网络事件,不负责业务执行,只会通过管理worker进程来实现重启服务,关闭服务,配置文件生效等功能
    	+ 工作进程
    		Nginx子进程充当工作进程,负责完成具体的任务。
    		子进程主要负责完成用户请求与返回用户数据,以及与后端应用服务器的数据交互等工作。
    	+ Nginx如何处理一道HTTP请求
    		Nginx接收到请求
    		首先,根据http请求的“host”头决定由哪个虚拟机处理请求
    		然后,匹配请求的URI,并根据URI定义规则返回数据。
    

    Nginx目录解析

    "/etc/nginx/"

    • conf.d/
    • fastcgi_params
    • koi-win
    • nginx.conf
    • scgi_params
    • sites-enabled/
    • uwsgi_params
    • fastcgi.conf
    • koi-utf
    • mime.types #媒体类型
    • proxy_params
    • sites-available/
    • snippets/
    • win-utf

    分类对目录说明

    Nginx主配置文件/目录 | 配置文件

    /etc/nginx
    /etc/nginx/nginx.conf
    /etc/nginx/conf.d
    /etc/nginx/conf.d/default.conf

    CGI配置相关 fastcgi | 配置文件

    /etc/nginx/fastcgi_params
    /etc/nginx/scgi_params
    /etc/nginx/uwsgi_params

    编码转换映射转化文件 | 配置文件

    /etc/nginx/koi-utf
    /etc/nginx/koi-win
    /etc/nginx/win-utf

    设置HTTP协议的Content-Type与扩展名对应关系:返回数据的类型 | 配置文件

    /etc/nginx/mime.types

    Nginx功能模块说明

    Core

    ngx_http_core_module 主要负责Nginx全局应用,针对主配置文件Main区块和Events区块
    ngx_http_access_module 访问控制模块,用来控制网站用户对Nginx的访问
    ngx_http_gzip_module 压缩模块,对Nginx返回的数据压缩,属于性能优化模块
    ngx_http_fastcgi_module FastCGI模块,和动态应用相关的模块,例如php
    ngx_http_proxy_module proxy代理模块
    ngx_http_upstream_module 负载均衡模块,可实现网站的负载均衡功能及节点的健康检查
    ngx_http_rewrite_module URL地址重写模块
    ngx_http_limit_conn_module 限制用户并发连接数及请求模块
    ngx_http_limit_req_module 根据定义的key限制Nginx请求过程的速率
    ngx_http_log_module 访问日志模块,以指定的格式记录Nginx客户访问日志等信息
    ngx_http_auth_basic_module Web认证模块,设置Web用户,通过账户,密码访问Nginx
    ngx_http_ssl_module SSL模块,用于加密的HTTP连接,如:HTTPS
    ngx_http_stub_status_module 记录Nginx基本访问状态信息等的模块

    配置Nginx代理HTTP请求到Apache Tomcat

    
    

    安装Nginx

    	sudo apt-get install nginx
    	whereis nginx 								# 查看Nginx相关文件目录
    

    修改默认主页

    	sudo nano /etc/nginx/sites-available/default
    		# root /var/www/html;
    		  root /home/jame/www;
    

    【重启/启动/关闭】

    	sudo service nginx start 					#启动
    	sudo /usr/local/nginx/nginx 				#启动
    	sudo service nginx restart					#重启
    	sudo nginx quit 							#关闭,从容关闭
    

    查看Nginx开启的进程

    	ps -ef | grep nginx
    

    重定向

  • 相关阅读:
    oracle查询表最后的操作时间
    设置tomcat开机自启
    jmeter 连接mysql
    ubuntu卸载软件
    转 ubuntu 安装chrome 和chromedriver
    转 ps -ef ps -aux 区别
    ubuntu 20 jenkins 开机启动
    Ubuntu20.04安装JDK
    ubuntu 安装指定版本gitlab
    Gitlab备份和恢复操作记录 转
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/11042760.html
Copyright © 2020-2023  润新知