Nginx知识小整理

Nginx知识整理(错略整理)


Nginx简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。


Linux vs Windows(linux版本 vs Windows版本)

Windows:
	界面:界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同
	驱动程序:驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。
	使用: 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。
	学习: 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。
	软件: 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。
Linux:
	界面: 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
	驱动程序: 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
	使用: 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
	学习: 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
	软件: 大部分软件都可以自由获取,同样功能的软件选择较少。

Nginx 安装教程

Windows版 : 安装下载解压即可。
Linux版:
nginx 安装过程
Linux下
(1)下载软件包
http://nginx.org/en/download.html
(2)解压后 用命令行的方式之下如下命令
./configure --prefix=/opt/myngnix --without-http_rewrite_module --without-http_gzip_module
make
make install
(3)修改 /opt/myngnix/nginx.conf
修改下述内容
location / {
root html;
index index.html index.htm;
}

		修改为
           location / {
           # root   html;
           # index  index.html index.htm;
            proxy_pass   http://127.0.0.1:8080/;  #根据自己的情况而定
        }
		
(4)启动nginx
   进入/opt/myngnix目录下
   执行 sbin/nginx  即可
(5)执行 ps -ef | grep nginx 检查进程是否已经启动
(6)浏览器输入  【linuxIP地址】  测试       

Nginx 目录结构介绍

(1)Html
(2)Conf
(3)Log

Nginx 命令介绍

(1)验证配置是否正确: nginx -t
(2)查看Nginx的版本号:nginx -V
(3)启动Nginx:nginx
(4)nginx -s reopen :重新打开日志文件
(5)配置文件修改重装载命令:nginx -s reload
(6)nginx -c conf/nginx.conf  使用指定的配置文件
(7)nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
(8)快速停止或关闭Nginx:nginx -s stop
(9)正常停止或关闭Nginx:nginx -s quit 。完整有序的停止nginx
(10)Linux 下停止nginx 还可以使用这些方式
①ps -ef | grep nginx
②kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
pkill -9 nginx :强制停止Nginx

Nginx 其他命令

nginx -s reload            # 重新载入配置文件
nginx -s reopen            # 重启 Nginx
nginx -s stop              # 停止 Nginx

Nginx的负载均衡

1、轮询
upstream linuxidc { 
      server 10.0.6.108:7080; 
      server 10.0.0.85:8980; 
}
2、权重
upstream linuxidc{ 
      server 10.0.0.77 weight=5; 
      server 10.0.0.88 weight=10; 
}
3、ip hash
upstream favresin{ 
      ip_hash; 
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
}

4、  fair(第三方)
upstream favresin{      
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
      fair; 
}
5、url_hash(第三方)
 upstream resinserver{ 
      server 10.0.0.10:7777; 
      server 10.0.0.11:8888; 
      hash $request_uri; 
      hash_method crc32; 
}

重要参数说明
upstream bakend{ #定义负载均衡设备的Ip及设备状态 
      ip_hash; 
      server 10.0.0.11:9090 down; 
      server 10.0.0.11:8080 weight=2; 
      server 10.0.0.11:6060; 
      server 10.0.0.11:7070 backup; 
}
upstream还可以为每个设备设置状态值,这些状态值的含义分别如下:
down 表示单前的server暂时不参与负载.
weight 默认为1.weight越大,负载的权重就越大。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

Location的匹配规则:
= 开头表示精确匹配
^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)
~ 开头表示区分大小写的正则匹配
~* 开头表示不区分大小写的正则匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/	用户所使用的代理(一般为浏览器)
$http_x_forwarded_for	可以记录客户端IP,通过代理服务器来记录客户端的ip地址
$http_referer	可以记录用户是从哪个链接访问过来的
发布了12 篇原创文章 · 获赞 0 · 访问量 327

猜你喜欢

转载自blog.csdn.net/qq_41970133/article/details/104033552
今日推荐