apt-get update
apt-get install nginx
2. 配置偵聽端口
/etc/nginx/site-available/default -- 修改server的偵聽端口80爲其它端口,否則因爲80端口已經被apache佔用,nginx啓動會失敗
3. 配置優化nginx.conf文件
/etc/nginx/nginx.conf
# ubuntu 14.04上, worker_processes值爲cpu數的一半; Ubuntu 16.04上爲cpu數
worker_processes auto;
# 連接數上線,設置到65535 (設置到ulimit -n命令獲取的一致)
worker_rlimit_nofile 65535;
events {
#==worker進程同時打開的最大連接數,這裏設置到65535,有文章說,生產環境,至少要到10K。
worker_connections 65535;
#==告訴nginx收到一個新鏈接通知後接受儘可能多的鏈接
multi_accept on;
#==設置用於複用客戶端線程的輪訓方法
use epoll;
}
4. 負載均衡配置
a. /etc/nginx/site-available/default 裏,設置好偵聽的端口(見2#裏的端口列表);配置ServerName,如serv1,serv2等
location / {
proxy_pass http://ServerName;
}
#開啓nginx狀態監控
location /status {
stub_status on;
access_log off;
}
b. /etc/nginx/nginx.conf 裏,增加upstream配置,其中的ServerName與default裏的對應。
# 注意:本機IP,不要使用“localhost”。hosts文件裏,localhost被映射::1,這導致URL錯誤
upstream ServerName {
server 127.0.0.1:8103;
server 127.0.0.1:8108;
}
c. 可以在一個nginx裏配置多個load balance。只要設置對應的server和upstream節點就可以了
5. 多端口偵聽
配置多個server節點,每個server節點偵聽不同端口即可。
6. 同一端口,不同site配置
可以通過server裏的location來配置. 尋址時,最後匹配 / 的location
location /servername {...} #訪問URL爲: http://xxxx:port/servername/xxxxxx
location / {...} # 訪問URL爲: http://xxxx:port/...
7. 代理和負載, nginx可以做比較複雜的轉發. 可以通過配置location, 將大量的站點集成到一個域名中. 實踐使用中, 儘量簡化映射關係. 不要使用太複雜的映射.
可以使用多端口監控, 簡化映射(針對內部使用站點)
location的設置,儘量不要使用複雜的正則表達式. 複雜意外着容易出錯, 增加維護成本和學習成本. 通過一些其它手段,簡化映射配置.