Nginx 入门

nginx概述

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP三、SMTP代理服务器;nginx能够做为一个HTTP服务器进行网站的发布处理,另外nginx能够做为反向代理进行负载均衡的实现。css

 

nginx支持的负载均衡调度算法方式以下:html

  1. weight轮询(默认):接收到的请求按照顺序逐一分配到不一样的后端服务器,即便在使用过程当中,某一台后端服务器宕机,nginx会自动将该服务器剔除出队列,请求受理状况不会受到任何影响。 这种方式下,能够给不一样的后端服务器设置一个权重值(weight),用于调整不一样的服务器上请求的分配率;权重数据越大,被分配到请求的概率越大;该权重值,主要是针对实际工做环境中不一样的后端服务器硬件配置进行调整的。linux

  2. ip_hash:每一个请求按照发起客户端的ip的hash结果进行匹配,这样的算法下一个固定ip地址的客户端总会访问到同一个后端服务器,这也在必定程度上解决了集群部署环境下session共享的问题。nginx

  3. fair:智能调整调度算法,动态的根据后端服务器的请求处理到响应的时间进行均衡分配,响应时间短处理效率高的服务器分配到请求的几率高,响应时间长处理效率低的服务器分配到的请求少;结合了前二者的优势的一种调度算法。可是须要注意的是nginx默认不支持fair算法,若是要使用这种调度算法,请安装upstream_fair模块c++

  4. url_hash:按照访问的url的hash结果分配请求,每一个请求的url会指向后端固定的某个服务器,能够在nginx做为静态服务器的状况下提升缓存效率。一样要注意nginx默认不支持这种调度算法,要使用的话须要安装nginx的hash软件包正则表达式

Nginx安装

1. windows安装

官方网站下载地址:算法

https://nginx.org/en/download.html 

 

以下图所示,下载对应的版本的nginx压缩包,解压到本身电脑上存放软件的文件夹中便可sql

  解压完成后,文件目录结构以下:swift

 

启动nginx

1) 直接双击该目录下的nginx.exe,便可启动nginx服务器windows

2) 命令行计入该文件夹,执行nginx命令,也会直接启动nginx服务器

D:/resp_application/nginx-1.13.5> nginx

 

访问nginx

打开浏览器,输入地址:http://localhost,访问页面,出现以下页面表示访问成功

 

中止nginx

命令行进入nginx根目录,执行以下命令,中止服务器:

# 强制中止nginx服务器,若是有未处理的数据,丢弃
D:/resp_application/nginx-1.13.5> nginx -s stop

# 优雅的中止nginx服务器,若是有未处理的数据,等待处理完成以后中止
D:/resp_application/nginx-1.13.5> nginx -s quit
 

Linux 安装Nginx

安装所需环境

Nginx 是 C语言 开发,建议在 Linux 上运行,固然,也能够安装 Windows 版本,本篇则使用 CentOS 7 做为安装环境。

一. gcc 安装
安装 nginx 须要先将官网下载的源码进行编译,编译依赖 gcc 环境,若是没有 gcc 环境,则须要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,因此须要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也须要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装
zlib 库提供了不少种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,因此须要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、经常使用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不只支持 http 协议,还支持 https(即在ssl协议上传输http),因此须要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

官网下载

1.直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html

nginx.png

2.使用wget命令下载(推荐)。

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

nginx-wget.png

我下载的是1.10.1版本,这个是目前的稳定版。

解压

依然是直接命令:

tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1

配置

其实在 nginx-1.10.1 版本中你就不须要去配置相关东西,默认就能够了。固然,若是你要本身配置目录也是能够的。
1.使用默认配置

./configure

2.自定义配置(不推荐)

./configure \
--prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/conf/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi

注:将临时文件目录指定为/var/temp/nginx,须要在/var下建立temp及nginx目录

编译安装

make make install

查找安装路径:

whereis nginx

nginx-whereis.png

启动、中止nginx

cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload

./nginx -s quit:此方式中止步骤是待nginx进程处理任务完毕进行中止。
./nginx -s stop:此方式至关于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程:

ps aux|grep nginx

重启 nginx

1.先中止再启动(推荐):
对 nginx 进行重启至关于先中止再启动,即先执行中止命令再执行启动命令。以下:

./nginx -s quit ./nginx

2.从新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效须要重启 nginx,使用-s reload不用先中止 ngin x再启动 nginx 便可将配置信息在 nginx 中生效,以下:
./nginx -s reload

启动成功后,在浏览器能够看到这样的页面:

nginx-welcome.png

开机自启动

即在rc.local增长启动代码就能够了。

vi /etc/rc.local

增长一行 /usr/local/nginx/sbin/nginx
设置执行权限:

chmod 755 rc.local

nginx-rclocal.png

到这里,nginx就安装完毕了,启动、中止、重启操做也都完成了,固然,你也能够添加为系统服务,我这里就不在演示了。

相关文章
相关标签/搜索