nginx-web服务器部署

导读:​web服务器也称为www服务器,主要功能是提供网上信息浏览服务, 通俗的说,web服务器是可以向发出请求的浏览器提供文档的程序。nginx是近几年异军突起的一款高性能的轻量级web服务器。本次分享主题是《nginx-web服务器部署》,本次分享主要包括基本原理、安装配置及项目部署三部分。

一. 什么是web服务器

图1是web服务器的工作原理,可见其根本工作就是接收数据、发送数据和数据处理,高级的服务器就是将这三个部分更加细致的设计。

nginx就是这样一款高性能服务器,由俄罗斯工程师Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发,它的主要功能有:HTTP服务器、反向代理、负载均衡和虚拟主机,主要优点有:高并发、高扩展性、高可靠、低内存消耗、热部署以及低成本等等。

目前很多大型网站都应用nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。

nginx-web服务器部署

图1 web服务器工作原理

二.如何安装配置nginx

1.基本功能安装配置

nginx即可以安装在Windows,也可以安装在linux下,安装的方式有多种。以linux为例,基本安装分为三步:依赖安装、nginx下载、nginx安装。nginx配置主要通过修改配置文件nginx.conf。

nginx-web服务器部署

图2 基本安装及常用命令

2.ssl安装配置

如果用到https,还需安装ssl模块,ssl模块的配置需要购买相关证书。

nginx-web服务器部署

图3 ssl安装配置

三.解决实际项目部署问题

1.跨域问题

现在的web项目多是前后端分离,有着不同的端口或在不同的服务器,所以跨域问题成为web开发中一个很重要的问题。nginx的反向代理功能可以将前端的连接请求转发给后端服务器,并将从后服务器上得到的结果返回给前端,从而表现为一个反向代理服务器。

2.使用同一个域名配置多个不同的项目

实际中,一个域名下可能有多个站点,每个站点对应一个小项目,它们通过区分上下文访问,如www.data.com/a和www.data.com/b,这时可以将每个站点分别绑定到不同的端口,并通过nginx反向代理到对应端口,从而通过一个域名不带端口的访问多个项目。

3.软件负载均衡问题              

负载均衡在实际项目操作过程中,有硬件负载均衡和软件负载均衡两种,由于硬负载相对造价昂贵,多数公司考虑成本原因会使用软负载。nginx的负载均衡功能可以将数据流量分摊到多个服务器执行,减轻每台服务器的压力,从容应对高并发等情况。

nginx还有许多其他实用且有趣的功能,大家有兴趣可以具体实践一下。

 

欢迎大家关注公众号:通信大数据分析及应用