1. 程式人生 > 實用技巧 >喵星之旅-狂奔的兔子-nginx入門(安裝及簡單配置)

喵星之旅-狂奔的兔子-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{

    listen80;

    server_namewww.kittybunny.club;

        location/blog/ {

        alias/static/test/;

        indexindex.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 下對應二級域名的目錄下。