首页 文章 正文 Nginx-代理服务器 2024-03-18 1891阅读 0评论 一、Nginx简介 Nginx (engine x) 是一个轻量级的、高性能的、基于Http的、反向代理服务器,静态web服务器。 Nginx最初是由俄罗斯人Igor Sysoev(伊戈尔·赛索耶夫)使用C语言为俄罗斯访问量第二的Rambler.ru站点开发的一款服务器。2004年10月发布第一个版本。 Nginx的官网: http://nginx.org 国内大型的站点,例如百度、京东、新浪、网易、腾讯、淘宝等,都使用了Nginx。 https://www.netcraft.com/ 二、代理服务器 2.1 正向代理 (1) 隐藏 (2) 翻墙 (3) 提速 (4) 缓存 (5) 授权 2.2 反向代理 (1) 保护隐藏 (2) 分布式路由 (3) 负载均衡 (4) 动静分离 (5) 数据缓存 2.3 总结 正向代理特点: 正向代理是对客户端的代理 正向代理是架设在客户端的主机 客户端在使用正向代理服务器时是知道其要访问的目标服务器地址信息 反向代理特点: 反向代理是对服务端的代理 反向代理是架设在服务端的主机 客户端在使用反向代理服务器时根本就不知道自己真正要访问的目标服务器地址信息 三、Nginx的特点 3.1 高并发 一个Nginx服务器在不做任何配置的情况下并发量可达1000左右。在硬件条件允许的前提下,Nginx可以支持高达5-10万的并发量(除了Nginx的设置外,Linux主机需要做大量的设置来配合Nginx)。 对比一下Tomcat。Tomcat服务器默认的并发量为150(不做任何配置)。即,当有超过150个用户同时访问某Servlet时,Tomcat的响应就会变得非常慢。 3.2 低消耗 官方给出的测试结果,10000个非活跃连接,在Nginx中仅消耗2.5M内存。对于一般性的DoS攻击来说就不是事儿,但对于DDoS也会是问题。 3.3 热部署 可以在7*24小时不间断服务的前提下,进行Nginx版本的平滑升级,Nginx配置文件的平滑修改。即在不停机的情况下升级Nginx,修改替换Nginx配置文件。 3.4 高可用 Nginx之所以可以实现高并发,是因为其具有很多工作进程worker。当这些工作进程中的某些出现问题停止工作时,并不会影响整个系统的整体运行。因为其它worker会接替那些出问题的线程。 3.5 高扩展 Nginx之所以现在的用户很多,是因为很多功能都已经开发好并模块化。若需要哪些功能,只需要安装相应功能的扩展模块即可。根据编写扩展模块所使用的语言的不同,可以划分为两类:C语言扩展模块与LUA脚本扩展模块。 http://openresty.org/cn/ 四、Nginx的下载与安装 4.1 Nginx的下载 nginx的官网为: http://nginx.org。 4.2 Nginx的源码安装 (1) 安装Nginx A、上传Nginx 将下载好的Nginx上传到新复制的主机的/usr/tools目录。 B、安装gcc 由于Nginx是由C/C++语言编写的,所以对其进行编译就必须要使用相关编译器。对于C/C++语言的编译器,使用最多的是gcc与gcc-c++,而这两款编译器在CentOS7中是没有安装的,所以首先要安装这两款编译器。 C、安装依赖库 基本的Nginx功能依赖于一些基本的库,在安装Nginx之前需要提前安装这些库。 D、创建解压目录 在/usr下创建apps目录,用于存放解压后的安装包程序。 E、解压Nginx 将Nginx解压到/usr/apps目录中。 进入到/usr/apps目录中的Nginx解压包目录,查看Nginx的目录。 F、生成makefile 在Nginx解压目录下运行make命令,用于完成编译。但此时会给出提示:没有指定目标,并且没有发现编译文件makefile。 编译命令make需要根据编译文件makefile进行编译,所以在编译之前需要先生成编译文件makefile。使用configure命令可以生成该文件。 G、编译安装 (2) 使nginx命令随处可用 在Nginx的安装目录/usr/local/nginx中有一个sbin目录,其中存放着nginx的命令程序nginx。 五、Nginx命令 5.1 查看命令选项nginx -h 使用nginx –h 可以查看Nginx命令的选项。 5.2 看Nginx版本信息nginx –v 或-V nginx –v:显示Nginx版本信息。 nginx –V:显示更多的版本相关信息,例如gcc的版本,OpenSSL的版本等。 5.3 测试配置文件命令nginx -tq nginx –t:测试配置文件是否正确,默认只测试默认的配置文件conf/nginx.conf。 nginx –T:测试配置文件是否正确,并显示配置文件内容。 nginx –tq:在配置文件测试过程中,禁止显示非错误信息,即只显示错误信息。 可以结合-c选项指定要测试的配置文件。注意,其不会启动nginx。 5.4 停止命令nginx –s stop/quit 在nginx命令后通过-s选项,可以指定不同的信号完成不同的功能。 nginx –s stop:强制停止Nginx,无论当前工作进程是否正在处理工作。 nginx –s quit:优雅停止Nginx,使当前的工作进程完成当前工作后停止。 5.5 平滑重启命令nginx –s reload 在不重启Nginx的前提下重新加载Nginx配置文件,称为平滑重启。 5.6 nginx –s reopen 重新打开日志文件。’ 5.7 nginx –p 指定Nginx配置文件的存放路径。 5.8 启动命令nginx –c file nginx –c(小写字母)可启动Nginx,启动成功后无任何提示。 若不指定配置文件,则默认加载的是Nginx安装目录下的conf/nginx.cnf。 5.9 nginx –g 设置配置文件以外的全局指令。 六、页面访问测试 6.1 关闭防火墙 6.2 浏览器访问 由于Nginx服务器默认的端口号为80,所以在浏览器中直接输入Nginx的主机名或IP,就可以看到Nginx欢迎页面。只要可以看到以下页面信息,则说明Nginx安装运行成功。
发表评论
还没有评论,来说两句吧...