关于Nginx,我想说是最好用的代理服务器

Nginx

Nginx是一款轻量级的Web服务器/反向代理服务器,其有占有内存少,并发能力强等特点。

一、Nginx的主要功能

代理

代理:正向代理与反向代理;所谓正向代理就是将发送请求的客户端进行代理,由客户端将请求发送给代理服务器,再由代理服务器将请求转发到服务器,并且也会接收服务器发送的响应并转发到客户端。反向代理就是给服务器做代理,客户端的请求发送给服务器时,实际上是发送到了代理服务器,会隐藏真正的服务器。

  • 正向代理

客户端发送的请求会先转发到代理服务器上,之后才会转发到服务器上;而服务器的响应也是先返回到代理服务器上,再由代理服务器转发到客户端。

ohTICn.png
正向代理保证了客户端的私密性与安全性;

  • 反向代理

对服务器做代理,客户端向代理服务器发送请求,客户端并不知道真实的服务器地址,对外暴露的也是代理服务器的地址,从而增强了服务器的安全性。

ohTB4A.png

负载均衡

当多个客户端发送请求时,一台服务器处理的速度会比较慢,同时也会增大服务器的压力;一般会使用多台服务器进程处理请求,使用Nginx可以做到负载均衡。

ohbZct.png

动静分离

现在的网页大部分都是动态网页,但其中通常会包含静态资源,这导致网页的加载速度变慢,为加快网页响应速度,一般会将静态资源和动态资源分为不同的服务器进行处理,不仅降低服务器工作压力,还会提高网页响应速度。

ohLew8.png

二、Nginx的安装

一般将Nginx安装在linux系统上,则以Centos7.x系统为例:
首先推荐官方教程 ,其他系统的安装在Nginx官网上都有教程;

  • 在linux中安装nginx,要先安装一些依赖组件pcre、openssl、zlib否则nginx是无法安装工作。
yum install -y pcre pcre-devel 
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
wget -c https://nginx.org/download/nginx-1.6.2.tar.gz
  • 解压、编译与安装
tar -zxvf nginx-1.6.2.tar.gz
make && make install
  • 测试Nginx是否安装成功

需要注意的是,对nginx的所有操作都必须在nginx的目录下才能执行,使用wget安装的默认安装位置录是/usr/local/nginx/sbin

cd /usr/local/nginx/sbin

./nginx -v      #查看nginx的版本号,检查nginx是否安装成功
./nginx         #启动nginx

ohvhUf.png
启动之后,在浏览器输入localhost,查看是否显示下面页面,若不显示,则表示安装出错,或者未启动nginx
ohxxeI.png

ps -ef |grep nginx      #使用指令查看是否启动nginx 
./nginx -s reload       #对nginx进行重载

o4kuz6.png


三、Nginx的基本操作

Nginx服务安装后,需要根据自己的需求进行配置,以后的对nginx的操作主要是对其配置文件的操作nginx.conf

1、对nginx服务的基础操作

./nginx -s reload     #重载nginx,相当于重启
./nginx -s stop       #停止nginx
./nginx               #启动nginx

2、对Nginx进行配置

nginx的配置是极为重要的,主要就是配置nginx的配置文件,其配置文件位置一般在/usr/local/nginx/conf/nginx.confnginx.conf就是nginx的配置文件,一般的操作都会在这个文件内进行配置,其主要分为三个部分:全局块、events块、http块

  • 全局块:从配置文件开始一直到events块之间的部分,主要配置的是nginx服务的整体配置,包括直接运行nginx的用户组,允许生成的woker proess数,进程PID存放路径,日志存放路径以及配置文件的外部引入。
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
  • events块:主要包括nginx服务与用户的网络连接
events {
    worker_connections  1024;
}
  • http块:nginx服务配置最频繁的部分,代理、缓存、日志定义等大多数功能和第三方模块的配置;http块中又包含http全局块server块

  • http全局块:主要包括有文件引入,MIME-TYPE定义、日志定义、连接超时时间、单程连接请求数上限等。

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;   #该路径下的所有配置文件都会被所加载到nginx的配置文件当中。
}
  • server块:该部分又包含多个server块,其每一个location块就相当与一台虚拟主机,而每个server块也会分为全局server块,以及可以同时包含多个location块。
  • 全局server块
    本虚拟主机的监听配置和本地虚拟主机的名称和IP配置
  • location块
    基于nginx服务器接收到的请求字符,对虚拟主机名称之外的字符串进行匹配,对特定的请求进行处理,地址定向,数据缓存和应控制等功能,还有第三方模块的配置。
server {
        listen       8000;   #监听端口号
        listen       somename:8080;
        server_name  somename  alias  another.alias;  #服务域名

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass  ip地址;    #代理服务器
        }
    }

以上就是关于Nginx的基本介绍,关于实际配置反向代理,可以在我的个人博客上了解,感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值