喵星之旅-狂奔的兔子-nginx入門(安裝及簡單配置)
一、什麼是nginx
Nginx
(engine x) 是一個高效能的HTTP和反向代理
說到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 下對應二級域名的目錄下。