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

一、什么是nginx

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

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

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

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

nginx可以配置负载均衡。

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

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

二、安装

nginx下载安装

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

先切换到安装目录

1
cd /usr/local/

下载

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

安装依赖

1
2
3
4
5
yum install gcc-c++

yum -y install pcre*

yum -y install openssl*

解压

1
tar -zxvf nginx-1.9.9.tar.gz

安装

1
2
3
4
5
6
7
cd nginx-1.9.9

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

make

make install

三、nginx基本操作

1
cd /usr/local/nginx/sbin/

启动:

1
./nginx

停止:

1
./nginx -s stop

四、nginx基本配置

1、Nginx配置静态资源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server{

listen 80;

server_name www.kittybunny.cn;

location /blog/ {

alias /static/test/;

index index.html;

}

}

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

2、Nginx配置转发其他应用

1
2
3
4
5
6
7
server { 
listen 80;
server_name www.kittybunny.cn;
location ^~ /api/ {
proxy_pass http://127.0.0.1:8080/;
}
}

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

3、Nginx配置跨域访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server { 
listen 80;
server_name www.kittybunny.cn;
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.cn,然后访问/api的请求,将转发到127.0.0.1:8181 这个应用上,而且支持跨域。

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

1
2
3
4
5
6
7
8
server { 
listen 80;
server_name ~^(?<test>.+)\.kittybunny\.club$;
location / {
alias /static/test1/$test/;
index index.html;
}
}

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

5、负载均衡

1
2
3
4
5
6
7
8
9
10
11
12
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里面就是负载均衡的地址,这里是默认配置(轮询)。

也可以选择:

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

或者:

1
2
3
4
upstream backserver {
server 192.168.0.100 weight=3;
server 192.168.0.101 weight=7;
}
文章目录
  1. 一、什么是nginx
  2. 二、安装
  3. 三、nginx基本操作
  4. 四、nginx基本配置
    1. 1、Nginx配置静态资源
    2. 2、Nginx配置转发其他应用
    3. 3、Nginx配置跨域访问
    4. 4、Nginx配置域名通配符访问
    5. 5、负载均衡
|