前言

本篇文章主要介绍的是Nginx Linux环境和Windows的安装教程。

Nginx 介绍

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

HTTP基础功能:

  • 处理静态文件,索引文件以及自动索引;
  • 反向代理加速(无缓存),简单的负载均衡和容错;
  • FastCGI,简单的负载均衡和容错;
  • 模块化的结构。过滤器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;
  • SSL 和 TLS SNI 支持;

IMAP/POP3 代理服务功能:

  • 使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端;
  • 使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;
  • 认证方法:
  • POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;
  • IMAP: IMAP LOGIN;
  • SMTP: AUTH LOGIN PLAIN CRAM-MD5;
  • SSL 支持;
  • 在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持;

...

更多的理论知识这里就不在介绍了,详细的可以查看官方的文档,地址:http://nginx.org/en/



上图是关于Nginx的反向代理和负载均衡实现的图,所谓的反向代理就是把客户端的请求通过一定的规则进行分发给后端服务器,负载均衡就是根据制定的策略将请求分发给不同的服务器。Nginx默认的是weight(权重)轮询(默认),将接收到的请求按照权重分配到不同的后端服务器,权重越大,该服务器分配的请求概率越大,相应请求也就越多,在运行过程如果某一台服务器突然宕机,Nginx检测到之后会自动将该服务器移除,保证请求不会受到影响,个人测试在有宕机的服务器的时候进行访问会有一点卡顿,后续就好了。

这里在简单说下正向代理和反向代理的区别,一句话概括:

正向代理主要是为客户端发出请求。

反向代理主要是为服务端接收请求。

Nginx Linux安装

nginx依赖于pcre、Openssl和zlib,PCRE作用是让Nginx支持Rewrite 功能。

PCRE安装

1、文件准备

将下载的文件通过ftp进行文件上传到/opt/nginx目录下,没有就新建。

然后进行解压,解压命令示例:

tar zxvf pcre-8.35.tar.gz

2、安装

然后进行解压之后的目录,进行编译安装,输入:

 cd pcre-8.35
./configure
make
make install

安装成功之后查看版本信息,输入:

pcre-config --version

Zlib安装

基本和上述一样。

1、文件准备

将下载的文件通过ftp进行文件上传到/opt/nginx目录下,然后进行解压,解压命令示例:

tar -zxvf zlib-1.2.11.tar.gz

2、安装

然后进行解压之后的目录,进行编译安装,输入:

 cd zlib-1.2.11
./configure
make
make install

Openssl 安装

基本和上述一样。

1、文件准备

将下载的文件通过ftp进行文件上传到/opt/nginx目录下,然后进行解压,解压命令示例:

tar -zxvf openssl-1.0.2q.tar.gz

2、安装

然后进行解压之后的目录,进行编译安装,输入:

 cd openssl-1.0.2q
./config
make
make install

Nginx 安装

这个基本也一样。

1、文件准备

将下载的文件通过ftp进行文件上传到/opt/nginx目录下,然后进行解压,解压命令示例:

tar zxvf nginx-1.6.2.tar.gz

2、安装

然后进行解压之后的目录,进行编译安装,输入:

 cd nginx-1.6.2
./config
make
make install

安装成功之后查看版本信息,输入:

/usr/local/nginx/sbin/nginx -v

若出现:Nginx: error while loading shared libraries: libpcre.so.1

则说明未安装pcre或安装了未设置软链,安装或者设置器软链即可,命令示例:

ln -s /usr/local/lib/libpcre.so.1 /lib64/



3、Nginx命令

测试nginx.conf的配置是否正确命令:

/usr/local/nginx/sbin/nginx -t

根据nginx.conf里的配置,启动nginx服务命令:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

配置文件热加载命令:

/usr/local/nginx/sbin/nginx -s reload

关闭命令:

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`

或找到nginx的进程,然后kill杀死即可,包括nginx的守护进程。

ps -ef | grep nginx
kill -9 pid

重启命令:

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

Nginx启动成功之后在浏览器直接输入linux的ip便可以直接访问,端口默认的是80,可以不用输入端口!

Nginx Windows安装

Windows Nginx安装不需要上述的依赖,直接下载解压运行即可。

Windows Nginx 下载地址: https://nginx.org/en/download.html?_ga=2.72556755.1143934847.1574131849-1552750179.1574131849

下载界面:

下载Nginx之后进行解压,双击nginx.exe运行或者在同级目录下cmd输入start nginx 启动。

输入:nginx -s stopnginx -s quit都可以停止nginx,区别就是后者会保存相关信息,前者不会。

热加载命令依旧是 nginx -s reload

Nginx启动成功之后在浏览器直接输入localhost或127.0.0.1便可以直接访问!

其他

参考Nginx官网: http://nginx.org/en/

音乐推荐

原创不易,如果感觉不错,希望点赞或推荐!您的支持是我写作的最大动力!

版权声明:

作者:虚无境

博客园出处:http://www.cnblogs.com/xuwujing

CSDN出处:http://blog.csdn.net/qazwsxpcm 

掘金出处:https://juejin.im/user/5ae45d5bf265da0b8a6761e4   

个人博客出处:http://www.panchengming.com

Nginx Linux和Windows安装教程的更多相关文章

  1. 转:xdebug在linux下的安装教程

    原文:xdebug在linux下的安装教程 [注意,本人是PHP7.1.7 Nginx ,第7步没有做,但是xdebug.so就已经在PHP的扩展文件夹里面了.目录是phpinfo的extension ...

  2. Linux及Windows安装Redis(详细)

    Linux及Windows安装Redis 1.Windows安装教程 1.1下载 https://github.com/MSOpenTech/redis/releases 进入github里下载red ...

  3. MySQL 8.0.12 基于Windows 安装教程(超级详细)

    MySQL 8.0.12 基于Windows 安装教程(超级详细) (一步一步来,装不了你找我!) 本教程仅适用Windows系统,如果你原本装了没装上,一定要先删除原本的数据库,执行:mysqld ...

  4. PHP7+Nginx的配置与安装教程详解

    下面脚本之家小编把PHP7+Nginx的配置与安装教程分享给大家,供大家参考,本文写的不好还请见谅. 系统环境:centos6.5 x64 软件版本:nginx-1.10.0 php-7.0.6 安装 ...

  5. 宝塔Linux面板新手安装教程【转】

    一.使用远程连接软件 (如 Putty.XShell) 连接你的Linux服务器,本教程以 Putty 为例. 1.动 Putty.exe 程序,进入 Putty 主界面. 2.在 Host Name ...

  6. linux中RabbitMQ安装教程

    linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...

  7. JAVA(windows)安装教程

    JAVA(windows)安装教程 一.下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  8. [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  9. Linux下aMule安装教程

    Linux下载神器aMule安装教程 aMule可以说是Linux下的电驴,你们说eMule是不是就是aMule的Windows版呢?也是开源的. Fedora安装aMule很简单,两条命令就搞定. ...

随机推荐

  1. Web前端学习,需用了解的7大HTML知识点

    HTML是web前端开发基础,关于HTML,这里有几个很重要的知识点,在日常开发常常用到,并且在大家面试的时候也会问的,记住这7个重要知识点,助你在面试时优先录用. 1.网页结构 网页结构一般都包含文 ...

  2. 17.Linux搭建网络仓库

    1.搭建一个网络仓库 服务端:10.0.0.201 1.准备软件包(1.光盘 2.缓存 3.联网下载 4.同步) 1.挂载光盘 mount /dev/cdrom 2.通过ftp共享软件包存放的目录 y ...

  3. Spring Cloud Alibaba学习笔记(23) - 调用链监控工具Spring Cloud Sleuth + Zipkin

    随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求陷入性能瓶颈或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何 ...

  4. Java11新特性 - 新加一些实用的API

    1. 新的本机不可修改集合API 自从Java9开始,JDK里面为集合(List/Set/Map)都添加了of和copyOf方法,他们可以来创建不可变的集合. Question1:什么叫做不可变集合? ...

  5. 斯坦福机器学习课程 Exercise 习题四

    Exercise 4: Logistic Regression and Newton’s Method 回顾一下线性回归 hθ(x)=θTx Logistic Regression hθ(x)=11+ ...

  6. 面试题-javascript-面向对象编程

    笔者在某次笔试中遇到这个题:印象很深. function ClassA() { var value=4; this.getValue= function() { return value; } thi ...

  7. Java常见的异常,Java运行时异常和一般异常的区别

    Java常见的异常,Java运行时异常和一般异常的区别 异常和错误二者的不同之处: Exception: 1.可以是可被控制(checked,检查异常) 或不可控制的(unchecked,非检查异常) ...

  8. Java多线程编程(三)线程间通信

    线程是操作系统中独立的个体,但这些个体如果不经过特殊的处理就不能成为一个整体.线程间的通信就是成为整体的必用方案之一,可以说,使线程间进行通信后,系统之间的交互性会更强大,在大大提高CPU利用率的同时 ...

  9. SpringCloud之Zuul过滤器实现登录鉴权实战(十一)

    自定义zuul过滤器实现登录鉴权实战 1.新建filter包 2.新建类继承ZuulFilter,重写方法 3.在类顶部加注解@Comment让spring扫描 /** * @author WGR * ...

  10. 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信

    前言 之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法 ...