Nginx入门

Stella981
• 阅读 727

课程概览

Nginx是一个开源的HTTP和反向代理服务器,同时也可以用于邮件代理服务器、负载均衡以及HTTP缓存。Nginx项目在一开始时,就定位于高并发、高性能以及低内存消耗的目标。它可以运行在Linux,,各类BSD系统, Mac OS X,Solaris,AIX,HP-UX 以及各类 *nix 操作系统。此外,它也提供了一个Windows版本,但仍处于原型阶段(参考链接)。根据Netcraft(全球知名的互联网服务咨询公司)的统计,截止到2014年三月,全球最大的网站中,大概有17.65%都使用了Nginx作为HTTP服务器或者代理服务器。
本课程会向你揭示Nginx的魔力。你将会学习到如何在各种软件平台上安装和配置Nginx,以及如何与Apache进行集成。
除此之外,你还会接触到像负载均衡、SSL配置以及Websockets代理等高级概念。

关于作者

Gabriel Canepa是一名来自阿根廷圣路易省梅塞德斯镇的Linux基金会认证系统管理员 (LFCS-1500-0576-0100) 及web开发者。他目前在一家全球领先的消费品公司工作,通过在工作中大量使用自由及开源(FOSS,Free and open-source software)工具,充分享受着它们所带来的工作效率提升。在工作与写作之余,他喜欢陪两个女儿在一起,与妻子一起给她们讲睡前故事,享受幸福的家庭生活。

Gabriel擅长于Linux系统管理、shell脚本、数据库管理(SQL Server, MySQL, Oracle 11g)、面向对象及过程变成(Python 和 PHP)、桌面应用程序开发(C#, Visual Basic, Excel with VBA)和web开发(jQuery, HTML5, CSS3, PHP)等领域。
他还曾作为一级TSR(技术支持代表),现场支持过一家大型跨国公司的WMS系统(运行Red Hat Enterprise Linux和Oracle 11g)的启动和日常操作。

课程介绍

在Linux上安装Nginx

在第一节课中,你将会了解如何在不同平台和环境中安装及配置Nginx。我为多个主流Linux发行版本都提供了安装指南,例如Debian Wheezy, Ubuntu 12.04 LTS 和 CentOS 6.4。此外,我还会解释如何激活各个模块,例如标准的HTTP、可选的HTTP以及邮件模块。最后,你将会了解如何将Nginx安装为一个系统服务,以便随操作系统一起启停。

Nginx配置指南(Ubuntu 12.04 LTS)

在本课中,你将会了解到Nginx配置的内部机制。你会熟悉Ngnix配置文件的语法和指令,以及如何组织和包含其他配置文件。随后,你会了解常用的基本模块,以及如何通过它们来定义Nginx的基础参数和配置。这些模块都是在Nginx编译时被自动构建到Nginx中的。最后,你会了解如何配置一个HTTP服务器和一个邮件服务器代理,以及虚拟主机。

Nginx和Apache(Ubuntu 12.04 LTS)

在本课中,我们将学习如何将Nginx于Apache web服务器集成起来。Nginx可以作为一个反向代理。在一个网络结构中,一个反向代理就是放置在客户端和服务端之间的一个设备或服务。我们将会了解如何对两个服务器进行正确的配置,以及如何进行细粒度的性能调优。

Nginx负载均衡(Ubuntu 12.04 LTS)

在本课中,我们将会了解如何通过Nginx来实现负载均衡。负载均衡是一种网络手段,将流量负载分发到多个计算资源上,例如多台服务器、服务器集群、网络链接、多个CPU,或者其他的硬件设备。通过Nginx,我们可以搭建一个7层的负载均衡(可以根据应用层协议(例如HTTP和FTP)中的数据来分发请求)。

Nginx SSL配置指南(Ubuntu 12.04 LTS)

在本课中,我们将关注于Nginx的SSL配置。SSL(Secure Socket Layer)协议的初衷是为了保证web服务器和浏览器(受保护页面)之间的安全传输。Nginx服务器可以支持SSL。我们将会了解如何创建、签名以及使用所需的证书,以及如何启用Nginx的SSL功能。

Nginx Websockets代理指南(Ubuntu 12.04 LTS)

在本课中,我们将关注于Nginx的Websockets代理功能。WebSocket是一个在单个TCP连接上提供全双工通信信道的协议,虽然设计之初是为了在浏览器和服务器之间使用,但它也可以用于任何客户端或服务端应用程序。Nginx从1.3.13版本起开始支持Websockets,并且已经被作为核心功能之一。为了更好的了解并测试该功能,我们将创建一个简单的Node.js应用程序。

Nginx总结(Ubuntu 12.04 LTS)

在最后一课中,我们将回顾之前课程中所介绍的一些Nginx的关键特性。

原文地址

简书地址,欢迎各位打赏!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
4. Nginx模块
Nginx官方模块1.ngx\_http\_stub\_status\_modulehttp://nginx.org/en/docs/http/ngx\_http\_stub\_status\_module.html。(https://www.oschina.net/action/GoToLink?urlhttp%3A%2
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这