1. 程式人生 > >windows Server2008 下部署nginx

windows Server2008 下部署nginx

web服務器 windows

前幾篇文章,我們使用nginx都是在linux環境下,今天由於工作的需要。需要在windows環境也使用nginx搭建web服務器。

下面記錄下有關nginx下的搭建與配置。

註意本次實驗使用的windows server 2003 64bit,而且還是在虛擬機中。IP地址為192.168.1.221

技術分享

首先去官網下載 nginx最新的的Windows版本,如下:

http://nginx.org/en/download.html

技術分享

下載到軟件包後,解壓 nginx-1.7.6.zip包到你喜歡的根目錄,並將目錄名改為nginx。

技術分享

然後在命令行下,切換nginx的主目錄執行下列操作:

cd nginx

start nginx

這樣,nginx 服務就啟動了。打開任務管理器,查看 nginx.exe 進程,有二個進程會顯示,占用系統資源,那是相當的少。如下圖:

技術分享

然後再打開瀏覽器,輸入http://127.0.0.1,就可以看到nginx的歡迎頁面了。如下:

技術分享

其實我們也可以在命令行對nginx進行如下的相關操作:

nginx –h //查看nginx的幫助

nginx -s stop // 停止nginx

nginx -s reload // 重新加載配置文件

技術分享

接下來就是配置nginx的conf文件。Windows下的nginx配置文件和linux配置文件是一樣的。下面是我的配置:

worker_processes 1;

pid logs/nginx.pid;

events {

worker_connections 1024;
}

http {

include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘‘$status $body_bytes_sent "$http_referer" ‘"$http_user_agent" "$http_x_forwarded_for"‘;

access_log logs/access.log main;

sendfile on;

keepalive_timeout 65;

server {

listen 80;

server_name localhost;

access_log logs/host.access.log main;

location / {

root E:\MikroTikRouterOS;

autoindex on;

}

}

現在來查看下,我配置後的nginx啟動情況。如下:

技術分享

通過上圖,我們可以很明顯的看到配置後nginx照樣可以正常啟動。我這個配置是把nginx作為http文件服務器來是有的。

按理說以上配置完畢後,我們就可以正常使用了。但是windows下的nginx和linux下的nginx不同,linux下的nginx可以隨系統啟動而啟動,而windows下的卻不同。

但是為了達到讓nginx隨windows系統啟動而啟動,我們可以通過“Windows Service Wrapper”這個軟件來實現。但是在實現之前,我們還需要做幾件事情:

首先windows系統必須要安裝.NET程序。這個是為了支持Windows Service Wrapper軟件的。如下:

技術分享

下面我們開始正式配置Windows Service Wrapper:

1、然後下載最新版的 Windows Service Wrapper 程序,比如我下載的名稱是 "winsw-1.9-bin.exe",然後,把它命名成你想要的名字,比如: "winsw.exe",當然你也可以不改名。

2、將重命名後的winsw.exe文件復制到 nginx 的主目錄,我這裏是 "E:\nginx"。

3、然後在nginx主目錄下創建一個Windows Service Wrapper的XML配置文件,而且該名稱必須與第一步重命名時winsw.exe使用的名稱一致,比如我這裏是 "winsw.xml"。如下:

技術分享

winsw.xml文件內容如下:

<?xml version="1.0" encoding="UTF-8" ?>

<service>

<id>nginx</id>

<name>nginx</name>

<description>nginx</description>

<executable>E:\nginx\nginx.exe</executable>

<logpath>E:\nginx\</logpath>

<logmode>roll</logmode>

<depend></depend>

<startargument>-p E:\nginx\</startargument>

<stopargument>-p E:\nginx\ -s stop</stopargument>

</service>

技術分享

4、在命令行下執行以下命令,以便將nginx安裝成Windows服務。如下:

winsw.exe install

技術分享

技術分享

通過上圖,我們可以很明顯的看到nginx已經被成功的安裝到系統的服務中。

接下來,我們只需要重啟服務器就可以了。現在測試下:

技術分享

可以很明顯的看到,這次已經完全達到我們的要求。

補充:

Windows Servcie Wrapper的命令格式如下:

# 安裝服務

CMD:\> winsw.exe install

# 卸載服務

CMD:\> winsw.exe uninstall

# 啟動服務

CMD:\> winsw.exe start

# 停止服務

CMD:\> winsw.exe stop


本文出自 “11028104” 博客,請務必保留此出處http://11038104.blog.51cto.com/11028104/1931544

windows Server2008 下部署nginx