前置知识准备:
- 如果还不知道服务器是干什么的,只是刚踏入程序员之路的,大家还是先学习基础,虽然以下文档很简单,但至少知道为什么要学;
- 一般服务器环境现在基本上都是放在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/
B、新建文件 nginx.repo
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的版本信息,证明已经安装成功了 。
Nginx 小入门记录 之 初识Nginx和环境准备(一)的更多相关文章
-
Nginx 小入门记录 之 Nginx 配置文件解读(二)
上一小节主要是记录一些环境准备和Nginx的安装,接下来对Nginx基本配置进行记录. 查看配置文件安装记录 可以通过以下Linux命令进行查看: rpm -ql nginx rpm 是liunx的包 ...
-
Nginx(一):初识Nginx
一.什么是Nginx? Nginx 是异步框架的Web服务器,也可以用作反向代理.负载平衡器和HTTP缓存.选择Nginx的一些优点:可以高并发连接.内存消耗少.成本低廉.配置文件简单.节省带宽.稳定 ...
-
Nginx快速入门菜鸟笔记
Nginx快速入门-菜鸟笔记 1.编译安装nginx 编译安装nginx 必须先安装pcre库. (1)uname -a 确定环境 Linux localhost.localdomain 2.6. ...
-
Nginx 基础入门
目录 Nginx 基础入门 1.Nginx简介 1.1.相关名词解释 2.Nginx优势 3.Nginx部署 4.Nginx配置文件 5.Nginx模块 6.Nginx配置文件 6.1.Locatio ...
-
nginx配置入门
谢谢作者的分享精神,原文地址:http://www.nginx.cn/591.html nginx配置入门 之前的nginx配置是对nginx配置文件的具体含义进行讲解,不过对于nginx的新手可能一 ...
-
nginx 配置入门
之前的nginx配置是对nginx配置文件的具体含义进行讲解,不过对于nginx的新手可能一头雾水. 今天看到个文档不错,翻译过来分享给大家,可以让新手更详细地了解nginx配置,可以说是nginx配 ...
-
初识nginx——内存池篇
初识nginx——内存池篇 为了自身使用的方便,Nginx封装了很多有用的数据结构,比如ngx_str_t ,ngx_array_t, ngx_pool_t 等等,对于内存池,nginx设计的十分精炼 ...
-
初识nginx——配置解析篇
一.nginx的介绍 nginx是由俄罗斯人开发的一款高性能的http和反向代理服务器,也可以用来作为邮件代理.相比较于其他的服务器,具有占用内存少,稳定性高等优势 二.nginx的配置 nginx的 ...
-
nginx的入门到框架设计
mac上安装nginx 安装与启动 安装 brew install nginx 命令 通过 Homebrew 下载的软件默认位置在 /usr/local/Cellar 应该ln-s 加连接就能全局 n ...
随机推荐
-
矢量图绘制工具Svg-edit调整画布的大小
矢量图绘制工具Svg-edit调整画布的大小 ------------------------------ ------------------------
-
Android安全攻防战,反编译与混淆技术完全解析(下)
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很 ...
-
PC机安装android apk | adb install -r
PC 下载 *****.apk 通过adb直接安装到android系统
-
c++如何生成随机数
一.使用rand()函数 头文件<stdlib.h> (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_ ...
-
学习c++语言应该牢记的50条准则,同样学习其他语言也一样
1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programm ...
-
hdu 4578 Transformation 线段树多种操作裸题
自己写了一个带结构体的WA了7.8次 但是测了几组小数据都对..感觉问题应该出在模运算那里.写完这波题解去对拍一下. 以后线段树绝不写struct!一般的struct都带上l,r 但是一条线段的长度确 ...
-
PHP——emjoin表情存入数据库
前言 还有一种解决的方法是更改数据库,这里就不写了,这里直接对emoji进行转码 代码 mb_strlen() | strlen() | rawurlencode() | rawurldecode() ...
-
java倒计时使用java.util.Timer实现,使用两个线程,以秒为单位
public class Countdown3 { private int lin; private int curSec; public Countdown3(int lin)throws Inte ...
-
hdu1251(统计难题)
这题就是一个字典树的模板题 统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Othe ...
-
ios 不兼容 报错NaN
function GetDateDiff(DiffTime) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 Time = DiffTime.replace(/\-/g, ...