前置知识准备:
- 如果还不知道服务器是干什么的,只是刚踏入程序员之路的,大家还是先学习基础,虽然以下文档很简单,但至少知道为什么要学;
- 一般服务器环境现在基本上都是放在Linux系统上了,如果对Linux还不熟的,可以先学习Linux入门就行了;
- 如果只是想单纯用Windows下联系的,其实本质和Linux环境是一样的,可以参考完成,这样可以减少Linux的学习了;
前言
Nginx 是当前很火很火的服务器,如果不了解,但至少也听说过,如果没有听说过,那赶紧开始动起来吧,教程很多很多,如下:
1. 菜鸟教程
2. 技术胖教程(挺详细的,还有视频)
3. CSDN博客
好多,好多,一百度就知道啦,我就不一一列出来了
这里把之前看技术胖的教程记录一下,还是那句话,看会了不一定是你的,一定要动手做,随便再记录一下,保证没坏处,这不,我也开始了!!!
官方定义:
Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。
很火很火
刚说Nginx比较火,怎么证明?大家都在用,你说火不火; 好吧,通过https://w3techs.com/ (这个网站的结果很有参考意义的)再去看看,到底咋样:
如上图,虽然说排第二吧,看看那比重,甩后面多少条街,不知道。 为什么不是第一, 我去,第一老大哥地位不可撼动呀。 那为什么排第二的还那么火,究竟有什么过人之处:
- 支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发,但经大神们测试,实际并发比官方稍微低那么点(咱们不用斤斤计较);
- 内存消耗少:在主流的服务器中,Nginx目前是内存消息最小的,经大神测试,开启10个Nginx进程消耗150M内存,大家可以有时间可以对比一下;
- 免费试用可以商业化:Nginx为开源软件,免费试用,可用于商业,开源协议是2-clause BSD-like(大家可以自行查阅这个协议看看),这特点,有哪个用户不喜欢;
- 配置文件简单: 配置通俗易懂;
- 做中间件很高效:Nginx做反向代理、负载均衡,方便、简单、高效;
- 其他: 还有很多,大家使用之后慢慢体会吧;
好了,想具体了解,可以去官网逛逛,或者百度一下,开始下一步环境搭建吧
环境准备
三种环境选择
- 自己电脑搭建或找个闲置的电脑或服务器(在自己Windows电脑上也装了一个);
- 阿里云ECS,有学生版的(https://promotion.aliyun.com/ntms/act/campus2018.html),不到10块钱一个月,主要是挺方便的(我享受不了了,不满足学生这个条件);
- 使用虚拟软件,我就是用的这种方式;
由于服务器现在大部分都放在Linux环境,所以以下以Linux环境为前提进行记录。我虚拟机装的系统是CentOS 7.
安装步骤
1. 系统环境及一些工具:
yum -y install gcc gcc-c++ autoconf pcre-devel make automake #安装gcc,编译,打包组件
yum -y install wget httpd-tools vim #安装下载工具、编辑工具
2.Nginx安装:
进入http://nginx.org/en/download.html查看Nginx版本:
版本说明:
-
- Mainline version : 开发版,一般用于技术研究、学习,不建议用于生产环境;
- Stable version : 稳定版,比较稳定、成熟,经过长时间的验证,所以生产环境都建议用这个版本;
- legacy version :历史版本,根据需要可以下载对应的版本
3. 用Yum进行安装(Yum 是基于RPM的包管理,自动下载RPM包并安装,自动处理依赖关系,并一次性安装所有依赖的软件包):
- 先查看yum源中是否有自己想要对应版本
yum list | grep Nginx
如图,我的电脑是已经配置好了。
2. 如果没有或者不是自己想要的版本,那就添加yum源
A、进入yum仓储目录下
cd /etc/yum.repos.d/
vim Nginx.repo
C、添加配置内容,官网找对应配置,或者直接找度娘就有了,以下示例中针对各种版本配置,选择适合的一个就行
[Nginx]
name=Nginx repo
baseurl=http://Nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[Nginx-stable]
name=Nginx stable repo
baseurl=http://Nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://Nginx.org/keys/Nginx_signing.key
[Nginx-mainline]
name=Nginx mainline repo
baseurl=http://Nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://Nginx.org/keys/Nginx_signing.key
D、安装
yum install Nginx
E、检查是否安装完成,或查看对应版本
Nginx -v
如果看到Ngnix的版本信息,证明已经安装成功了 。