Nginx在Windows下的安装及环境配置(将nginx作为服务运行)

  

Nginx在Windows下的安装及环境配置

1. 下载和安装Nginx

  • 下载地址:http://nginx.org/en/download.html

下载完成之后,解压到一个目录,例如: C:\nginx

2. 添加Nginx为Windows服务

  • 打开cmd窗口,进入nginx目录,输入以下命令:
cd C:\nginx
  • 添加Nginx服务
nginx.exe -s install

若成功安装,则会提示 “nginx service installed successfully”。

  • 启动服务
net start nginx

若启动成功,则会提示 “the nginx service is starting”,并且在任务管理器中可以看到 nginx.exe 进程。

  • 验证Nginx服务是否启动成功

在浏览器中输入 http://localhost127.0.0.1,若看到 “Welcome to nginx!” 则说明已经成功安装并启动了Nginx服务。

3. 环境配置

在Nginx配置文件 nginx.conf 中做以下配置:

user  root;
worker_processes  1;

events {
    worker_connections  1024;
}

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

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
  • 第一行中的user,把默认的nginx用户修改为root用户,否则可能会遇到权限的问题。

  • worker_processes 表示开启的进程个数。

  • events.worker_connections表示单个进程最大连接数。

  • http.include表示引入mime.types文件,配置nginx处理的文件类型。

  • http.default_type 表示如果在mime.types文件中没有找到文件类型,则采用的默认类型。

  • http.sendfile表示开启高效传输模式。

  • http.keepalive_timeout 表示客户端请求保持活跃状态的时间。

  • server.listen表示服务监听的端口。

  • server_name表示服务名。

  • 样例中的location配置了访问根目录时所返回的文件,以及错误页的跳转。

修改完配置后,执行以下命令重启Nginx服务:

nginx -s reload

至此,Nginx在Windows下的安装及环境配置已经完成。

示例

示例一:代理HTTP请求

在nginx中可以通过配置反向代理来实现将客户端的请求转发到其他服务器上进行处理。以下以代理HTTP请求为例。

C:\nginx\conf 目录下创建新的配置文件 http_proxy.conf,写入以下内容:

http {
    server {
        listen       80;
        server_name  localhost;

        # proxy pass the request to real server
        location / {
            proxy_pass   http://127.0.0.1:8080/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
    }
}

以上配置实现了将请求转发到本机的8080端口。

然后在主配置文件 nginx.conf 中添加以下内容:

include  http_proxy.conf;

重启Nginx服务即可。

示例二:使用Nginx实现HTTP服务器

C:\nginx\html 目录下创建一个 index.html文件,写入以下内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Nginx Web Server</title>
</head>
<body>
    <h1>Hello, Nginx!</h1>
</body>
</html>

然后在 nginx.conf 中修改以下内容:

server {
    listen       80;
    server_name  localhost;

    root   html;

    location / {
         index  index.html index.htm;
    }
}

重启Nginx服务,打开浏览器输入 http://localhost,页面显示“Hello, Nginx!”,说明已经成功使用Nginx作为HTTP服务器。

相关文章