作者
WenasWei
一Nginx代理服务器1.1Nginx简介
Nginx是一款高性能的HTTP服务器/反向代理服务器及IMAP/POP3/SMTP代理服务器。由俄罗斯的程序设计师IgorSysoev所开发,官方测试Nginx能够支支撑5万并发链接,并且CPU、内存等资源消耗却非常低,运行非常稳定。
Nginx代码完全用C语言从头写成,以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡服务器。在性能上,Nginx占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上,Nginx安装简单、配置灵活。
截至年12月,差不多世界上每3个网站中就有1个使用Nginx。
Nginx支持热部署,启动速度特别快,还可以在不间断服务的情况下对软件版本或配置进行升级,即使运行数月也无需重新启动。
在微服务的体系之下,Nginx正在被越来越多的项目采用作为网关来使用,配合Lua做限流、熔断等控制。
1.2Nginx的应用场景
(1)HTTP服务器:Nginx是一个HTTP服务可以独立提供HTTP服务。可以做网页静态服务器。
(2)虚拟主机:可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
(3)反向代理,负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用Nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
二Nginx常用命令2.1Linux下Nginx常用命令
nginx的使用比较简单,就是几条命令。
nginx-sstop#快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。nginx-squit#平稳关闭Nginx,保存相关信息,有安排的结束web服务。nginx-sreload#因改变了Nginx相关配置,需要重新加载配置而重载。nginx-sreopen#重新打开日志文件。nginx-cfilename#为Nginx指定一个配置文件,来代替缺省的。nginx-t#不运行,而仅仅测试配置文件。nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。nginx-v#显示nginx的版本。nginx-V#显示nginx的版本,编译器版本和配置参数。
在linux的sbin目录下中输入:./nginx代替上面的nginx
如果不想每次都敲命令,可以在nginx安装目录下新添一个启动批处理文件startup.bat,双击即可运行。内容如下:
验证Nginx配置文件是否正确
nginx-t-c/conf/nginx.confechooff#rem如果启动前已经启动nginx并记录下pid文件,会kill指定进程nginx-sstop#rem测试配置文件语法正确性nginx-t-cnginx.conf#rem显示版本信息nginx-v#rem按照指定配置去启动nginxnginx-cnginx.conf
2.2windows下Nginx常用命令
windows下其他常用命令
nginx.exe-sstop#快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。nginx.exe-squit#平稳关闭Nginx,保存相关信息,有安排的结束web服务。nginx.exe-sreload#因改变了Nginx相关配置,需要重新加载配置而重载。nginx.exe-sreopen#重新打开日志文件。nginx.exe-cfilename#为Nginx指定一个配置文件,来代替缺省的。nginx.exe-t#不运行,而仅仅测试配置文件。nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。nginx.exe-v#显示nginx的版本。nginx.exe-V#显示nginx的版本,编译器版本和配置参数。
cmd命令窗口查看Nginx启动命令
tasklist/fi"imagenameeqnginx.exe"
下图结果为启动成功
验证Nginx配置文件是否正确
nginx.exe-t-c\conf\nginx.conf三Nginx使用案例
下面将介绍Nginx的三种部署使用案例:
Windows部署使用Nginx
Linux(Ubuntu)部署使用Nginx
基于Linux(Ubuntu)使用Docker容器化引擎技术部署使用Nginx
3.1Windows部署使用Nginx
(1)