前言

本篇文章主要介绍的是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. socat的介绍与使用

    Socat 是 Linux 下的一个多功能的网络工具,名字来由是 「Socket CAT」.其功能与有瑞士军刀之称的 Netcat 类似,可以看做是 Netcat 的加强版. Socat 的主要特点就 ...

  2. Linux低权限用户记录ssh密码

    0x01 场景 现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息.其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的 ...

  3. Mqtt-Client

    客户端选择:paho MQTT client. 使用vs2013编译成库 需要用到paho-mqtt3a库和paho-mqtt3c库.

  4. L2-007. 家庭房产(并查集)

    #include <cstdio> #include <set> #include <vector> #include <algorithm> usin ...

  5. selenium-模块概述(1)

    Selenium是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 1.目录结构如下: D:\soft\python36\Lib\site-pa ...

  6. [案例分析] 政务云市场面临的复杂格局——重庆政务云模式的启示:多厂商竞争化、PaaS 化

    新闻背景: 2019 年 9 月底,重庆市大数据应用发展管理局发布政务云平台采购公告,预算金额为 5000 万元,以上 4 家入选. 最终项目被项目被阿里云.腾讯云.华为云.紫光云 4 家瓜分. 50 ...

  7. java ThreadLocal线程设置私有变量底层源码分析

    前面也听说了ThreadLocal来实现高并发,以前都是用锁来实现,看了挺多资料的,发现其实还是区别挺大的(感觉严格来说ThreadLocal并不算高并发的解决方案),现在总结一下吧. 高并发中会出现 ...

  8. 百万年薪python之路 -- MySQL数据库之 常用数据类型

    MySQL常用数据类型 一. 常用数据类型概览 # 1. 数字: 整型: tinyint int bigint 小数: float: 在位数比较短的情况下不精确 double: 在位数比较长的情况下不 ...

  9. Oracle数据库 常见的SQL题,复习

    01.查询员工表所有数据,并说明使用*的缺点 select * from emp 02.查询职位(JOB)为'PRESIDENT'的员工的工资 select sal from emp where jo ...

  10. VS Code断点调试PHP超详细萌新教程

    AppServ安装 1. 下载 2. 安装,一路默认设置顺便设置sql密码即可.这里建议不要修改端口,后续教程默认80端口. 3.点我测试,有下图则恭喜你AppServ安装完成. Xdebug配置 1 ...