前言

本篇文章主要介绍的是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. [POI2015]PIE

    题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色.你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上的图案.印的过程中需要满足以下要求:( ...

  2. (20)ASP.NET Core EF创建模型(必需属性和可选属性、最大长度、并发标记、阴影属性)

    1.必需和可选属性 如果实体属性可以包含null,则将其视为可选.如果属性的有效值不可以包含null,则将其视为必需属性.映射到关系数据库架构时,必需的属性将创建为不可为null的列,而可选属性则创建 ...

  3. 【Spring Cloud】客户端负载均衡组件——Ribbon(三)

    一.负载均衡 负载均衡技术是提高系统可用性.缓解网络压力和处理能力扩容的重要手段之一. 负载均衡可以分为服务器负载均衡和客户端负载均衡,服务器负载均衡由服务器实现,客户端只需正常访问:客户端负载均衡技 ...

  4. 概念理解:boost::asio::io_service

    IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象). asio::io_service i ...

  5. 玩转u8g2 OLED库 MAX7219_32X8点阵模块

    u8g2 OLED库 + MAX7219_32X8点阵模块 理论基础 玩转u8g2 OLED库,一篇就够 玩转u8g2 OLED库,一篇就够(字数太多 要分篇) 实验内容 Full screen bu ...

  6. 4、OGNL与值栈

    一.OGNL 1.什么是OGNL 对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression La ...

  7. 百万年薪python之路 -- 软件的开发规范

    一. 软件的开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目 ...

  8. 关于举办【福州】《K8S社区线下技术交流会》的问卷调查

      近年来,容器.Kubernetes.DevOps.微服务.Serverless等一系列云原生技术受到越来越多的关注,云原生为企业数字化转型提供了创新源动力,基于云原生技术构建企业技术中台在各行业也 ...

  9. python-从文件中读取数据

    一.读取整个文件 learnFile.py 绝对路径 # coding=UTF-8 import sys reload(sys) with open(r'C:\Users\zhujiachun\Des ...

  10. unity基础命令

    获取所挂脚本元素的组件: rd = GetComponent<Rigidbody>(); 获取其他元素的组件: rd = GameObject.Find("Player" ...