Nginx学习与使用

在阅读本文前,请先安装好nginx,安装步骤可以看
Linux下安装Nginx

目录

  • 一、了解nginx
  • 二、常用命令
    • 查看版本号
    • 启动
    • 停止
    • 重新加载
  • 三、配置文件
  • 四、应用
    • 部署静态资源
    • 反向代理
      • 概念
      • 实例
    • 负载均衡
      • 概念
      • 实例

一、了解nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,作为一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少并发能力强

二、常用命令

使用nginx操作命令前提:必须进入到nginx的自动生成目录的下/sbin文件夹下
默认自动生成目录:

/usr/local/nginx

查看版本号

./nginx -v

启动

./nginx

停止

./nginx -s stop

重新加载

用于修改配置文件后,让nginx重新加载新的配置文件

./nginx -s reload

三、配置文件

配置文件默认在 /usr/local/nginx/conf

配置文件整体上分为三部分: 全局块、events块、http块

区域 功能
全局块 配置和nginx运行相关的全局配置
events块 配置和网络连接相关的配置
http块 配置代理、缓存、日志记录、虚拟主机等配置
Nginx学习与使用_第1张图片

通常我们配置的是http块

四、应用

nginx主要用于以下几种应用场景

  • 部署静态资源
  • 反向代理
  • 负载均衡

部署静态资源

nginx可以作为静态web服务器来部署静态资源(html页面、css文件、js文件、图片、视频)
相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。

部署静态资源,只需要将文件复制到Nginx安装目录下的html目录中即可,然后修改nginx.conf。

以首页为例,这里指定了访问80端口时,默认访问index.html

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

反向代理

概念

在之前,我们都是客户直接请求发送到服务端,这样就暴露了服务端的地址。

反向代理服务器位于用户目标服务器之间,以代理服务器来接收internet网上的连接请求,然后将请求转发给内部网络上的目标服务器,并从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个节点服务器。

Nginx学习与使用_第2张图片

反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率

例如:
我们平时访问百度时,直接访问www.baidu.com。
它背后可能有成千上万的服务器为我们服务,但具体是哪一台为我们服务,我们并不知道,也没必要知道。
我们只需要知道反向代理服务器是www.baidu.com就可以

Nginx就是性能非常好的反向代理服务器,用来做负载均衡

实例

目前作为代理服务器nginx的ip为 192.168.216.3,监听端口为80
希望它代理http://172.16.50.124:8086

目标服务器
Nginx学习与使用_第3张图片
通过修改nginx.conf

proxy_pass http://172.16.50.124:8086

Nginx学习与使用_第4张图片
重新加载nginx

./nginx -s reload

访问代理服务器192.168.216.3
Nginx学习与使用_第5张图片
代理成功

负载均衡

概念

将原先单个服务器的请求改向多个服务器发送请求,通过轮询发送到服务器集群,减少单个服务器的压力。

实例

目前有两个应用分别占用172.16.50.124的80868085端口
Nginx学习与使用_第6张图片

Nginx学习与使用_第7张图片
通过访问代理服务器实现负载均衡,把请求分散到这两个应用中。
修改nginx.conf。
Nginx学习与使用_第8张图片


    upstream myserver{
	    server 172.16.50.124:8086;
	    server 172.16.50.124:8085;
    }


    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
	    proxy_pass http://myserver;
            index  index.html index.htm;
        }

重新加载nginx

./nginx -s reload

测试,访问代理服务器192.168.216.3两次
Nginx学习与使用_第9张图片

Nginx学习与使用_第10张图片
负载均衡成功
Nginx学习与使用_第11张图片

你可能感兴趣的:(nginx,nginx,学习,服务器)