弄了兩天的nginx,從了解開始,可能是我理解能力太差了,慚愧慚愧!但是還好看了一些大神的文章總算有點眉目了,此篇用來當作自己的筆記,大家看不懂,勿噴,但是如果有問題,直接回復,我可以給你解答一下,前提是如果我懂的話,嘻嘻。
前提條件:服務器要能夠訪問80端口,服務器上安裝tomcat8.0並能成功運行。
在使用中,發現重啟服務器,系統就占用了80端口,以致於nginx啟動報錯:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。
可以通過netstat -aon | findstr :80 命令查看80端口被誰占用,如果是system占用,通過以下步驟解決:
一、安裝nginx,下載地址:http://nginx.org/ ;
直接解壓就可以了,這里解壓到E盤根目錄:E:\nginx;
命令行(win+r 輸入cmd)切換到該目錄下:cd E:\nginx,輸入start nginx.exe 窗口閃一下,一般就啟動成功了,去任務管理器查看一下是不是有兩個nginx的進程運 行,有就成功了。瀏覽器輸入http://localhost會出來NGINX的歡迎界面;
二、配置動靜態分離和反向代理:
在nginx安裝路徑下的conf文件夾下面新建幾個文件(新建了復制代碼進去就好,主要是我也不知道啥意思):
tips:文件中的內容復制過去后要把中文注釋刪掉,不然可能出現編碼問題,實在不行就不要復制了,勤快點,手敲嘛。
Gzip.conf:
gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript;
Proxy.conf(這個文件好像目前沒用到的,可以不用新建):
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_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript; Proxy.conf
修改nginx.conf文件:
worker_processes 1; events { worker_connections 1024; } http { charset utf-8;#設置編碼 include gzip.conf;#include表示引用文件 include mime.types; upstream localhost { server localhost:8080; #配置tomcat地址,即需要nginx轉向的地址 } server { listen 80; #表示監聽80端口,配合上面的tomcat地址使用,訪問80端口,就會轉向localhost:8080 server_name localhost; #設定訪問靜態文件直接讀取不經過tomcat location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html)$ { root E:\static;#靜態文件(gig|jpg|jpeg|png|bmp|swf|html)的存放地址 expires 30d;#設置緩存為30天 } location ~ .*\.(js|css)?$ { root E:\static;#靜態文件(js|css)的存放地址 expires 1h;#設置緩存為1小時 }
location = / {#設置首頁(直接訪問服務器ip或域名就可以訪問E:\static目錄下的index.html,如果是其他名字需要其它設置,這里沒做深究,用到了再來)
root E:\static;
}
location / { proxy_connect_timeout 3; #連接超時時間 proxy_send_timeout 30; #發送超時時間 proxy_read_timeout 30; #訪問8080超時時間 proxy_pass http://localhost; #引用前面upstream的名字
}
}
}
現在可以去E盤的static文件夾下面新建一個html頁面測試是不是能夠訪問了(修改了配置文件需要重新加載配置文件或重啟nginx),如:http://ip地址/index.html
三、常用命令(切換到nginx安裝目錄來執行):
start nginx.exe :啟動nginx
nginx.exe -s stop :停止nginx
nginx.exe -s reload : 配置文件修改,重新加載配置文件
nginx -t :查看nginx是否啟動成功
nginx -v :查看nginx版本
