nginx大家應該不陌生,一般我們首先會想到反向代理、控制反轉、web緩存等等,其實呢,他除了幹這些事,好像就是做這些事的,小巧靈活作為部署web的伺服器最適合不過了。不過大多數java愛好者們習慣用Linux系統部署,所以很多人都用Linux系統來安裝使用nginx,我是一個.net程式設計師,雖然也用java,但是習慣性的不喜歡用Linux系統。所以每次遇到跨平臺的項目或者前後端分離的項目部署的時候,我還是會選擇windows的系統,就連伺服器我也是用的百度雲安裝的windows server 版本,今天我和大家看一下windows系統如何安裝部署Nginx。
一般我們直接去官網下載一個windows版本的Nginx就可以了,具體下載地址我放到了下方,大家也可以百度直接收Nginx的官網,裡面有windows版本的Nginx。之後解壓到需要放置的位置(C:\nginx)
我們可以藉助"Windows Service Wrapper"小工具來輔助實現相關功能。
下載地址:
http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
下載該工具後,將其放在 Nginx安裝目錄下,並重命名為nginx-service.exe,創建配置文件nginx-service.xml(名字要和工具名一樣)。
創建nginx-service.exe.config(為支持NET 4.0 runtime,默認只支持NET 2.0 runtime),
nginx-service.xml 內容如下:
<service> <id>nginx</id> <name>Nginx Service</name> <description>High Performance Nginx Service</description> <logpath>C:\nginx\logs</logpath> <log mode="roll-by-size"> <sizeThreshold>10240</sizeThreshold> <keepFiles>8</keepFiles> </log> <executable>C:\nginx\nginx.exe</executable> <startarguments>-p C:\nginx</startarguments> <stopexecutable>C:\nginx\nginx.exe</stopexecutable> <stoparguments>-p C:\nginx -s stop</stoparguments></service>nginx-service.exe.config 內容如下:
<configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v4.0" /> </startup> <runtime> <generatePublisherEvidence enabled="false"/> </runtime></configuration>進入cmd控制臺中運行如下命令安裝windows服務,之後就可以在Windows服務面板中啟動服務了
C:\nginx\nginx-service.exe install下面我們來配置Nginx主要的文件,重點就是配置這個文件,我們才能快樂的玩轉Nginx。在nginx文件夾下的conf文件夾中的nginx.conf就是它的配置文件了。打開nginx.conf文件。在 http{} 中。有如下代碼。
server { listen 8080; server_name localhost; location / { proxy_pass http://127.0.0.1:5000; root html; index index.html index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}listen 表示ngnix監聽的埠號,默認是80;
server_name 表示訪問的地址。這裡填寫與伺服器關聯的域名。
location下的proxy_pass表示它代理的地址;
重要的就是這三個地方。當訪問server_name 後填的網址的listen後的監聽埠時,都將轉到proxy_pass後所填寫的地址。
我是使用的項目flask是運行在本地的5000埠上,域名例如www.baidu.com。配置是
listen 80;server_name www.baidu.com;location / { proxy_pass http://127.0.0.1:5000 root html; index index.html index.htm;}首先將項目運行起來。這時候可以在5000埠看到它。但是訪問網址默認是80埠。這裡配置之後。訪問網址會轉到5000埠。
項目部署就完成了,這裡只用了nginx最基本的功能反向代理。
Nginx在windows上的部署基本上就是這些,沒有太多文字表達,我覺得技術這個東西,會用就好,把代碼寫出來,不是為了分享技術,只是為了大家做項目的時候,不至於那麼累,直接複製粘貼進去就好,重心放到業務實現上。公眾號中我會陸續分享一些技術方面的代碼,可能不是最流行的,但是都是些最常用的,方便大家複製粘貼用的,希望大家多多關注。