前言

本篇文章主要介绍的是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. 小白学 Python(5):基础运算符(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  2. table表格中文字超出显示省略号

    第一步: table {table-layout:fixed:}列宽由表格宽度和列宽度设定,不随文字多少变化 第二步: td { white-space:nowrap;/*文本不会换行,文本会在在同一 ...

  3. hadoop-3.1.2启动httpfs

    最近有一个需求,要求使用httpfs读取数据,一开始看到httpfs这个词,第一感觉是不是多了个f,是不是https,后来百度一下,其实不然. httpfs其实是使用http协议访问hdfs文件系统: ...

  4. 22.Linux定时任务

    1.计划任务时间管理 参数 含义 -e 编辑定时任务 -l 查看定时任务 -r 删除定时任务 -u 指定其他用户 \* 表示任意的(分.时.日.月.周)时间都执行 \- 表示一个时间范围段, 如5-7 ...

  5. Mybaits 源码解析 (一)----- 搭建一个mybatis框架(MyBatis HelloWorld)

    源码分析之前先搭一个mybatis的demo,这个在看源码的时候能起到了很大的作用,因为在看源码的时候,会恍然大悟,为什么要这么配置,为什么要这么写.(老鸟可以跳过这篇) 开发环境的准备 创建mave ...

  6. ESP8266开发之旅 进阶篇⑥ ESP-specific APIs说明

    1.前言     在介绍Arduino Core For ESP8266的时候,博主着重讲解了WIFI库的使用,但是并没有涉及到ESP8266硬件本身的一些特有API.所以,这一章我们将讲解ESP82 ...

  7. 远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接

    本篇blog将讲述sshd服务提供的两种安全验证的方法,并且通过这两种方法进行两台Linux虚拟机之间的远程登陆. 准备工作: (1)     准备两台安装有Linux系统的虚拟机,虚拟机软件采用VM ...

  8. java中JVM内存管理(1)

    Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?  可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义  |  有哪些GC算法  以及年轻代和老年代各自特点 ...

  9. (乱入)FingerGesture

    偶然的机会遇到FingerGesture插件,此插件也有很多方便的功能,比如控制主相机查看模型以及缩放等功能,如Component-FingerGestures-Toolbox-Camera-Orbi ...

  10. Mac OSX 10.7.3 以上系统安装JDK1.7失败 Java from Oracle requires Mac OS X 10.7.3 or later.

    解决办法: 打开JDK dmg安装包,把里面的pkg安装包拖出来然后解包 xar -xf JDK\ 7\ Update\ 40.pkg ./Java 修改Distribution文件找到pm_inst ...