也許是最好的Web服務(wù)器
安裝與配置
Nginx名氣太大符欠,就不詳細(xì)介紹了,因?yàn)槲矣玫氖荕int OS,所以這篇文章對(duì)于Debian系OS是適用的。
各種命令
安裝:sudo apt-get install nginx
啟動(dòng):sudo service nginx start
停止:sudo service nginx stop
重載:sudo service nginx reload
Mac版:
安裝:brew install nginx
啟動(dòng):sudo nginx
停止:sudo nginx -s stop
重啟:sudo nginx -s reopen
重載:sudo nginx -s reload配置
nginx的默認(rèn)配置文件是:
/etc/nginx/nginx.conf
這個(gè)配置文件又加載了一個(gè)外部的配置文件:
include /etc/nginx/sites-enabled/*
sites-enabled 文件夾下只有一個(gè)default文件剑辫,這貨才是我們真正需要了解的。去掉注釋后影兽,實(shí)際上沒幾行:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
}
server_name就是url中的域名揭斧,當(dāng)前是localhost莱革,我們就可以在瀏覽器通過localhost訪問到這臺(tái)server峻堰。80是 http的默認(rèn)端口,不要輕易修改盅视。default_server 的含義是指如果有其他 http 請(qǐng)求的 host 在 nginx 中不存在相關(guān)配置的話那么就用這臺(tái) server 的配置來處理捐名。比如訪問127.0.0.1就由這臺(tái)server來處理。root是url請(qǐng)求的根路徑闹击,index是默認(rèn)訪問頁面镶蹋。
- 日志路徑
/var/log/nginx
大殺器
- 反向代理
要明白什么是反向代理,首先要搞清楚什么是正向代理赏半。正向代理作為客戶端的中介贺归,隱藏了真實(shí)的客戶端向服務(wù)器獲取資源,翻墻軟件就是典型的正向代理断箫。
反向代理顧名思義就是作為服務(wù)端的中介拂酣,隱藏掉真實(shí)提供服務(wù)的服務(wù)器,它是負(fù)載均衡的基礎(chǔ)仲义。
配置如下:
/etc/nginx/sites-enabled/default
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;//獲得客戶端真實(shí)IP
}
localhost/mc/將會(huì)被代理到localhost:8080/mc/
location /static/ {
root /home/admin;
}
localhost/static/images/a.jpg的資源存儲(chǔ)在/home/admin/images/a.jpg
- 負(fù)載均衡
有了反向代理之后婶熬,我們就可以把大量請(qǐng)求分散到多臺(tái)機(jī)器。
配置如下:
/etc/nginx/sites-enabled/default server模塊
location /mc {
proxy_pass http://mc;
}
/etc/nginx/nginx.conf http模塊
upstream mc {
ip_hash;
server 192.168.1.13:8079;
server localhost:8080;
}
總結(jié)
之所以要寫這篇文章是因?yàn)槊慨?dāng)去網(wǎng)上搜索技術(shù)資料的時(shí)候埃撵,總是能看到不少劣質(zhì)文章赵颅,排版混亂,東拼西湊暂刘,未經(jīng)測(cè)試饺谬。這些人自己沒有技術(shù)品位也就算了,貢獻(xiàn)垃圾信息我就不能忍了谣拣。