喵星之旅-狂奔的兔子-nginx入门(安装及简单配置)


一、什么是nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。

说到web服务器,tomcat也是web服务器,为啥要用nginx

  • nginx是一个轻量级高并发服务器,而tomcat并不是。

  • nginx一般被用来做反向代理,将请求转发到应用服务器上,比如tomcat的应用。

  • nginx可以配置负载均衡。

  • nginx一般也用来处理跨域,或者用来将前后端分离情况下的前后端同域。

  • nginx做服务器,可以做静态资源处理,也可以进行复杂业务处理。


二、安装

nginx下载安装

下载地址:http://nginx.org/download/

先切换到安装目录

cd /usr/local/

下载

wget http://nginx.org/download/nginx-1.9.9.tar.gz 

安装依赖

yum install gcc-c++

yum -y install pcre*

yum -y install openssl*

解压

tar -zxvf nginx-1.9.9.tar.gz

安装

cd nginx-1.9.9

./configure --prefix=/usr/local/nginx

make

make install

 

三、nginx基本操作

cd /usr/local/nginx/sbin/

启动:

./nginx

停止:

./nginx -s stop


四、nginx基本配置

1、Nginx配置静态资源

server{

    listen 80;

    server_name www.kittybunny.club;

        location /blog/ {

        alias /static/test/;

        index index.html;

    }

}

 

80端口的请求,域名必须是www.kittybunny.club,然后访问/blog的请求,将获取/static/test/下对应的文件。

2、Nginx配置转发其他应用

 

server { 
    listen 80; 
    server_name www.kittybunny.club; 
    location ^~ /api/ { 
        proxy_pass http://127.0.0.1:8080/; 
    } 
}

这个表示,到80端口的请求,域名必须是www.kittybunny.club,然后访问/api的请求,将转发到127.0.0.1:8080 这个应用上。

3、Nginx配置跨域访问

server { 
    listen 80; 
    server_name www.kittybunny.club; 
    location /api/ { 
        add_header Access-Control-Allow-Origin *; 
        add_header Access-Control-Allow-Headers X-Requested-With; 
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS; 
        proxy_pass http://127.0.0.1:8181/api/; 
        proxy_redirect off; 
        proxy_set_header Host $host; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        client_max_body_size 10m; 
        client_body_buffer_size 128k; 
        proxy_buffers 32 4k; 
        proxy_connect_timeout 600; 
        proxy_send_timeout 600; 
        proxy_read_timeout 600; 
    } 
}

80端口的请求,域名必须是www.kittybunny.club,然后访问/api的请求,将转发到127.0.0.1:8181 这个应用上,而且支持跨域。

4、Nginx配置域名通配符访问

server { 
        listen 80; 
        server_name ~^(?<test>.+)\.kittybunny\.club$;
    location / { 
        alias /static/test1/$test/; 
        index index.html; 
    } 
}

80端口的请求,匹配到*.kittybunny.club,将转发到/static/test1 下对应二级域名的目录下。

5、负载均衡

    upstream tomcats {
        server 192.168.0.100:8080;
        server 192.168.0.101:8080;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://tomcats;
        }
    }

下面跳转打地址中tomcats是一个名字,就是指的上面的upstream后面的名字,upstream里面就是负载均衡的地址,这里是默认配置(轮询)。

 

也可以选择:

         upstream myproject{
            # ip_hash指令,将同一用户引入同一服务器。
            ip_hash;
            server 192.168.0.100; 
       server
192.168.0.101;
      }

或者:

upstream backserver {
    server 192.168.0.100 weight=3;
    server 192.168.0.101 weight=7;
}

 


posted @ 2020-11-05 16:59  喵星兔  阅读(135)  评论(0编辑  收藏  举报