windows下安裝Nginx全過程
概念
是一個高性能的HTTP和反向代理web服務器。
代理
正向代理
一個客戶端與目標服務器之間的代理服務器。
正向代理是代表客戶端來進行訪問目標服務器,我們要獲取到目標服務器的資源,客戶端配置代理服務器地址,客戶端使用代理服務器地址訪問目標地址,可以隱藏客戶端的地址。
比如我們的科學上網就是使用的正向代理。
反向代理
一個客戶端與目標服務器之間的代理服務器。
反向代理是代表的服務器來接收客戶端的訪問請求,客戶端不知道目標服務器的存在,對客戶端來說,目標服務器是無感的,代理服務器就是目標服務器,代理服務器將請求轉發(fā)給目標服務器獲取返回資源后,再將返回的資源返回給客戶端,可以隱藏目標服務器的地址。
比如nginx服務器就是反向代理。
安裝
1.下載地址:nginx: 下載
2.解壓到自定義的文件夾下

基本屬性
nginx.conf
查詢
nginx的主配置文件地址/etc/nginx/nginx.conf,可以使用cat -n nginx.conf來查看配置
結構
main # 全局配置,main模塊設置的指令將會影響其他所有設置,通常設置nginx的用戶(組)、允許生成的woker_process數目、nginx進程PID存放目錄、日志存放路徑和類型以及配置文件的引入
|——events # 配置nginx服務器或用戶的網絡,通常設置包括是否開啟對多個work_process下的網絡進行序列化、是否允許同時接收多個網絡連接、選取哪種事件模型來處理連接請求、每個work_process可以同時支持的最大連接數
|——http # 配置代理、緩存、日志等絕大部分功能及第三方模塊配置
|——upstream # 配置后端服務器具體地址,負載均衡配置不可或缺的部分
|——server # 配置虛擬主機相關參數,一個server對與用戶來說就是一個虛擬主機,一個http塊可以包含多個server塊,
|——location # server塊可以包含多個location塊,用于匹配uri,地址定向、數據緩存和應答控制等功能,還有許多其他第三方模塊也在這里配置屬性
# 定義運行nginx的用戶與用戶組
user www www;
# nginx的進程數,建議設置為等于CPU總核數
worker_processes 8;
# 全局錯誤日志定義類型[debug|info|notice|error|crit]
error_log /usr/local/nginx/logs/error.log info;
# 進程pid文件
pid /usr/local/nginx/logs/nginx.pid;
events{
# 設置網路連接序列化,防止驚群現象發(fā)生,默認為on
accept_mutex on;
# 設置一個進程是否同事接受多個網絡連接,默認為off
multi_accpet on;
# 事件驅動模型[select|poll|kqueue|epoll|resig|/dev/poll|eventport]
use epoll;
# 最大連接數,默認為512
worker_connections 1024;
}
# 設定http服務器,利用它的反向代理功能提供負載均衡支持
http
{
# 常用配置
# 文件擴展名與文件類型映射表
include mime.types;
# 設定通過nginx上傳文件的大小
client_max_body_size 8m;
# 長連接超時時間,單位是秒
keepalive_timeout 120;
# 默認文件類型
default_type application/octet-stream;
# 默認編碼
charset utf-8;
# 負載均衡配置
upstream lyy.api{
# upstream的負載均衡,weight是權重,可以根據機器配置定義權重,weight參數表示權值,權值越高被分配到的記錄越大;down表示當前的server暫時不參與負載;max_fails表示允許請求失敗的次數默認為1,當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤;fail_timeout表示max_fails次失敗后,暫停的時間;backup表示其他所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕
server 192.168.1.10:80 weight=1 backup;
server 192.168.1.11:80 weight=2 down;
server 192.168.1.12:80 weight=3 max_fails=3 fail_timeout=15;
# nginx的upstream目前支持4種方式的分配
# 1、輪詢(默認):每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除
# 2、weight:指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
# 3、ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題
# 4、fair:按后端服務器的相應時間來分配請求,響應時間短的優(yōu)先分配。
}
# 虛擬主機的配置
server{
# 監(jiān)聽端口
listen 80;
# 域名可以有多個,用空格隔開
server_name www.lyy.com www.lyy.cn;
index index.html index.htm index.php;
root /data/www/lyy;
# 定義本虛擬主機的訪問日志
access_log /usr/local/nginx/logs/host.access.log main;
access_log /usr/local/nginx/logs/host.access.404.log log404;
# 對"/api"啟用反向代理
location /api {
# 所有請求了ip:port/api/**的接口都會轉發(fā)到lyy.api負載配置去
proxy_pass lyy.api;
# 或者直接配置地址
# proxy_pass http:127.0.0.1:11001;
# 允許客戶端請求的最大單文件字節(jié)數
client_max_body_size 10m;
# 后端服務器連接的超時時間
proxy_connect_timeout 90;
# 后端服務器數據回傳超時時間
proxy_send_timeout 90;
# 連接成功后,后端服務器響應超時時間
proxy_read_timeout 90;
}
}
}
使用
運行
在nginx目錄下打開cmd,然后執(zhí)行啟動命令,雙擊nginx.exe后,在修改配置后,再重啟、關閉nginx都不生效,只有在任務管理器中進行關閉所有nginx進程。
start nginx


重啟
修改nginx.conf的配置后,重啟nginx
nginx.exe -s reload
修改端口為8002,然后運行重啟命令

停止
nginx -s stop


總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Nginx 域名SSL證書配置(網站 http 升級為 https)
這篇文章主要介紹了Nginx 域名SSL證書配置(網站 http 升級為 https),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
關于nginx+php5.3.8+eclipse3.7工作空間的配置方法
以前用eclipse3.6時設置php服務器時完全可以在base url欄填寫自己工作空間的目錄,然后修改nginx.conf加一個alias就行了2011-11-11

