首先去官網(wǎng)下載軟件包,解壓,路徑最好不要有中文
Nginx配置的路徑問題
由于在Windows下文件路徑可以用”/”, 也可以用”//”, 也可以用”/”作為路徑做分隔符。但”/”最容易引發(fā)問題,所以要盡量避免使用。
不要添加PATH,否則會(huì)引發(fā)錯(cuò)誤,config文件路徑找不到
比如我解壓在E盤
cmd命令定位到nginx.exe所在文件夾cd E:/WorkSoftWare/nginx-1.10.1
然后執(zhí)行,首先保證nginx.conf文件配置沒問題
其實(shí)nginx最重要的和最主要的工作就是配置文件,其他沒什么需要我們應(yīng)用開發(fā)人員關(guān)注的,除非想修改底層源碼.
nginx.conf配置如下:
#user nobody; worker_processes 1; #工作進(jìn)程的個(gè)數(shù),可以配置多個(gè) #全局錯(cuò)誤日志及PID文件 error_log /WorkSoftWare/nginx-1.10.1/logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; pid /WorkSoftWare/nginx-1.10.1/logs/nginx.pid; events { worker_connections 1024; #單個(gè)進(jìn)程最大連接數(shù)(最大連接數(shù)=連接數(shù)*進(jìn)程數(shù)) } #設(shè)定http服務(wù)器,利用它的反向代理功能提供負(fù)載均衡支持 http { include mime.types; #設(shè)定配置文件位置,這里的conf是指nginx.conf所在的目錄,也可以用絕對(duì)路徑指定其他地方的配置文件 default_type application/octet-stream; #默認(rèn)類型-8進(jìn)制文件流 #設(shè)定日志格式 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #設(shè)定訪問日志 #access_log /WorkSoftWare/nginx-1.10.1/logs/access.log main; sendfile on; #是否激活sendfile()函數(shù),比默認(rèn)模式更有效率 #tcp_nopush on; #將HTTP響應(yīng)頭壓縮到一個(gè)包中發(fā)送,僅在sendfile開啟時(shí)才能配合使用 #連接超時(shí)時(shí)間 #keepalive_timeout 0; keepalive_timeout 65; gzip on; #啟用Gzip壓縮 #服務(wù)器的集群 #設(shè)定負(fù)載均衡的服務(wù)器列表 支持多組的負(fù)載均衡,可以配置多個(gè)upstream 來服務(wù)于不同的Server. #nginx 的 upstream 支持 幾 種方式的分配 #1)、輪詢(默認(rèn)) 每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。 #2)、weight 指定輪詢幾率,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況。 跟上面樣,指定了權(quán)重。 #3)、ip_hash 每個(gè)請(qǐng)求按訪問ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問一個(gè)后端服務(wù)器,可以解決session的問題。 #4)、fair #5)、url_hash #Urlhash #upstream imicrosoft.net #{ #服務(wù)器集群名字 #服務(wù)器配置 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大。 #server 192.98.12.60:1985 weight=3 max_fails=2 fail_timeout=30s; #server 192.98.12.42:8086 weight=3 max_fails=2 fail_timeout=30s; #weigth參數(shù)表示權(quán)值,權(quán)值越高被分配到的幾率越大 #1.down 表示單前的server暫時(shí)不參與負(fù)載 #2.weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大。 #3.backup: 其它所有的非backup機(jī)器down或者忙的時(shí)候,請(qǐng)求backup機(jī)器。所以這臺(tái)機(jī)器壓力會(huì)最輕。 #本例是指在同一臺(tái)服務(wù)器,多臺(tái)服務(wù)器改變ip即可 # server 127.0.0.1:8055 weight=4 down; # server 127.0.0.1:8010 weight=5 backup; #} upstream localhost { server 127.0.0.1:9000 weight=3 max_fails=2 fail_timeout=200s; server 127.0.0.1:8086 weight=5 max_fails=2 fail_timeout=200s; } #當(dāng)前的Nginx的配置,代理服務(wù)器的地址,即Nginx安裝的服務(wù)器地址、監(jiān)聽端口、默認(rèn)地址, #設(shè)定虛擬主機(jī),默認(rèn)為監(jiān)聽80端口 server { listen 9090; #偵聽9090端口 #對(duì)于server_name,如果需要將多個(gè)域名的請(qǐng)求進(jìn)行反向代理,可以配置多個(gè)server_name來滿足要求 server_name localhost; #當(dāng)前服務(wù)的域名 charset utf8; #charset koi8-r; #設(shè)定本虛擬主機(jī)的訪問日志 #access_log logs/host.access.log main; #如果訪問 /images/*, /js/*, /css/* 資源,則直接取本地文件,不用轉(zhuǎn)發(fā)。 #但如果文件較多效果不是太好。 #location ~ .*/.(jpg|jpeg|gif|css|png|ico|html)$ #{ # expires 30d; # root /nginx-1.10.1;#root: # break; #} #對(duì) "/" 啟用負(fù)載均衡 location / { root html; #默認(rèn)主頁目錄在nginx安裝目錄的html子目錄 index index.html index.htm index.aspx; #沒有索引頁時(shí),羅列文件和子目錄 #proxy_pass http://www.imicrosoft.net; #跟載均衡服務(wù)器的upstream對(duì)應(yīng) autoindex on; #沒有索引頁時(shí),羅列文件和子目錄 #保留用戶真實(shí)信息 proxy_redirect off; #url不跳轉(zhuǎn) proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #緩沖區(qū)代理緩沖用戶端請(qǐng)求的最大字節(jié)數(shù),可以理解為先保存到本地再傳給用戶 # client_body_buffer_size 128k; # #跟后端服務(wù)器連接超時(shí)時(shí)間 發(fā)起握手等候響應(yīng)超時(shí)時(shí)間 # proxy_connect_timeout 12; # #連接成功后 等待后端服務(wù)器響應(yīng)時(shí)間 其實(shí)已進(jìn)入后端的排隊(duì)之中等候處理 # proxy_read_timeout 90; # #代理請(qǐng)求緩存區(qū) 這個(gè)緩存區(qū)間會(huì)保存用戶的頭信息一共Nginx進(jìn)行規(guī)則處理 一般只要能保存下頭信息即可 # proxy_send_timeout 90; # #同上 告訴Nginx保存單個(gè)用的幾個(gè)Buffer最大用多大空間 # proxy_buffer_size 4k; # proxy_buffers 4 32k; # #如果系統(tǒng)很忙的時(shí)候可以申請(qǐng)國內(nèi)各大的proxy_buffers 官方推薦 *2 # proxy_busy_buffers_size 64k; # #proxy 緩存臨時(shí)文件的大小 proxy_temp_file_write_size 64k; # proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_max_temp_file_size 128m; #啟動(dòng)代理 proxy_pass http://localhost; client_max_body_size 10m; #允許客戶端請(qǐng)求的最大單個(gè)文件字節(jié)數(shù) } #示例一 #location / { # proxy_pass http://imicrosoft.net; # # proxy_redirect default; # # proxy_set_header Host $host; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #} #示例二 #location /tileservice { # proxy_pass http://cluster/MongoTileService/tileService; # proxy_set_header Host $host; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 #對(duì) "/XXXXX.PHP" 啟用負(fù)載均衡 #location ~ /.php$ { # proxy_pass http://127.0.0.1; #} #location /baidu #{ #proxy_pass http://www.google.com; #proxy_set_header Host $host; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ /.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ //.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
新聞熱點(diǎn)
疑難解答
圖片精選