Nginx——在Windows環境下安裝(一)


下載

Nginx是開源軟件,用戶可以訪問 http://nginx.org/ 網站獲取源碼包或Windows二進制文件下載。其中1.13.x版本為開發版本,1.12.0版本為穩定版本。開發版本分支會較快的獲得新功能和缺陷修復,但同時也可能會遇到新的缺陷。一旦更新穩定下來,就會被加入穩定版本分支。

作為生產環境,通常建議用戶使用穩定版本。

Nginx在Windows環境下安裝

nginx的windows版本使用原生win32 API(非Cygwin模擬層)。當前存在的已知問題:

1.采用select作為通知方法,所以不具備很高的性能和擴展性;

2.雖然可以啟動若干工作進程運行,實際上只有一個進程在處理請求所有請求;

3.一個工作進程只能處理不超過1024個並發連接;

4.緩存和其他需要共享內存支持的模塊在windows vista及后續版本的操作系統中無法工作,因為在這些操作系統中,地址空間的布局是隨機的;

5.除了XSLT過濾器、圖像過濾器、GeoIP模塊和嵌入Perl語言支持以外,Nginx的Windows版本與Unix版本相比,功能幾乎齊全。

 

安裝Nginx的Windows版本,建議下載最新的1.3.13開發版本,因為開發分支上包含了所有已知的問題修復,尤其是針對Windows版本的問題修復。解壓下載得到的zip文件,進入nginx-1.3.13目錄,運行nginx。

C盤根目錄下安裝例子

cd c:\
unzip nginx-1.3.13.zip
cd nginx-1.3.13
start nginx

Nginx的Windows版本的控制命令包含如下:

nginx -s stop 快速退出
nginx -s quit 優雅退出
nginx -s reload 更換配置,啟動新的工作進程,優雅的關閉以往的工作進程
nginx -s reopen 重新打開日志文件

windows下nginx無法啟動

啟動window上的nginx總是報錯,查看logs目錄下的error文件,發現報錯信息:
1340#3540: 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)
大概意思是 nginx listen的80后端口被占用.
 
在cmd窗口運行如下命令:
C:\Users\Administrator>netstat -aon | findstr :80  
 
如果是被系統占用:
看到80端口果真被占用。發現占用的pid是4,名字是System。怎么禁用呢?
1、打開注冊表:regedit
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
3、找到一個REG_DWORD類型的項Start,將其改為0
4、重啟系統,System進程不會占用80端口
 
重啟之后,start nginx.exe 。
 在進程中

 

在瀏覽器中,輸入127.0.0.1,即可看到親愛的“Welcome to nginx!” 了。
 
如果是其它的占用,就找到相應進程pid,然后kill掉,重啟nginx,比如:
C:\>netstat -aon|findstr "80" 
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448

端口被進程號為2448的進程占用,繼續執行下面命令:
C:\>tasklist|findstr "2448" 
httpd.exe                     2560 RDP-Tcp#5                  2     16,984 K
上面很明顯,是httpd這個進行占用了80端口,大家都知道httpd這個進程是apache的進程,也確實我的服務器上已經啟動了apache,所以關掉apache就行了。
如果是其它的,可以直接kill掉。
 
另:當然也可以你的nginx就不要監聽80端口了~~~
 

測試

將Nginx conf文件的server block部分的配置如下:

server {
    listen 80; server_name localhost; location / { root html; index index.html index.htm; } # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

如上配置,在默認情況下 他的root是 nginx目錄下的html文件夾

 

用戶可以通過訪問“http://localhost:80/index.html”頁面來查看Nginx的歡迎頁面。

Nginx在Windows環境下查看nginx進程

用戶還可以通過命令行運行tasklist命令來查看nginx進程:

>C:\>tasklist /fi "imagename eq nginx.exe"

如果nginx沒有啟動或沒有得到預期展示頁面,可查看error.log文件以查看失敗原因。如果日志文件不存在,可在Windows事件日志中查看。

 

https://blog.csdn.net/zorro_jin/article/details/84927408

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM