Windows系统下载安装Nginx以及host文件的介绍

本文介绍了如何在Windows系统中下载安装Nginx,包括启动、重启和停止命令,以及详细解析了Nginx配置文件。同时讲解了hosts文件的作用,如何通过修改hosts文件和Nginx配置实现域名代理。最后,给出了一个配置图片代理服务器的实例,并展示了如何通过hosts文件将域名映射到Nginx代理服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows系统下载安装Nginx以及host文件的介绍

1. Nginx的简单介绍

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件(IMAP/POP3)代理服务器。Nginx占用内存少,并发能力强。

1.1 Nginx的安装

Nginx下载地址:http://nginx.org/en/download.html
这里选择了Windows的1.19.4版本
在这里插入图片描述

下载完成后解压压缩包
接下来测试一下是否能正常运行
双击nginx.exe打开或者根目录输入cmd打开输入命令,会发现有个窗口闪一下

1.启动命令      start  nginx
2.重启命令      nginx  -s  reload  (启动过才能输入重启命令)
3.停止命令      nginx   -s  stop

在这里插入图片描述

在这里插入图片描述

nginx启动后,会多出两个进程,其中占内存大的为主进程,主要为用户提供反向代理服务;其中占内存小的为守护进程,是为了主进程意外关闭的。所以在关闭Nginx时需要先结束守护进程才能关闭主进程。
测试是否能正常使用
浏览器输入localhost会出现欢迎界面表示成功。
在这里插入图片描述

1.2 Nginx配置文件说明

Nginx服务器的基础配置和默认配置都在这里–>打开conf文件夹下的nginx.conf文件

下面简单说明一下配置文件

########### 每个指令必须有分号结束。##################
user administrator administrators;  #配置用户或者组,默认为nobody nobody。#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
 }
http {
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。

    upstream mysvr {   
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
           #root path;  #根目录
           #index vv.txt;  #设置默认页
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表
           deny 127.0.0.1;  #拒绝的ip
           allow 172.18.5.54; #允许的ip           
        } 
    }
  }

http{}块下可以包含多个server{}块,一个反向代理就是一个server

server {
    #监听的端口号
    listen 80;
    #监听的域名
    server_name localhost;
    
    #进行反向代理配置
    location / {
        #root关键字:代表磁盘地址
        root html;      #默认为跟目录下的html文件夹
        #index关键字:默认的欢迎界面
        index index.html index.htm;
    }
}
1.3 自己配置并测试

接下来自己写一个配置图片的代理服务器测试一下

  • 首先在F盘创建一个文件夹img,其中保存一张图片 hello.png
  • 在http{}块下配置图片的代理服务器
server {
        listen 8080;
        server_name 127.0.0.1;
        location / {
            root F:img;
        }
  }

之后浏览器输入http://127.0.0.1:8080/hello.png 就可以显示这张图片。
在这里插入图片描述

2. hosts文件的简单介绍

hosts文件是操作系统为了方便开发,在本地形成的域名IP的映射文件,该文件只对本机有效。
位置:C:\Windows\System32\drivers\etc\hosts
示例:

#IP 域名 的映射关系,表示在浏览器输入hello.word.com就相当于输入例如127.0.0.1
127.0.0.1 hello.word.com
#可以配置多条映射
127.0.0.1 www.img.com

3. hosts文件和Nginx的配合使用实现域名的代理

3.1 如果想要通过http://hello.world.com域名访问localhost:8080的服务器
  • 编辑hosts文件
127.0.0.1 hello.world.com
  • 编辑nginx.conf配置文件
server {
        listen 8080;
        server_name hello.world.com;
        location / {
            root F:img;
        }
  }

浏览器输入hello.world.com:8080/hello.png测试
在这里插入图片描述

3.2 如果想要通过http://hello.world.com域名访问真实服务器地址http://localhost:8090
  • 编辑hosts文件
127.0.0.1 hello.world.com
  • 编辑nginx.conf配置文件
server {
        listen 80;
        server_name hello.world.com;
        location / {
            #代理真实的服务器地址
            proxy_pass http://localhost:8090;
        }
  }

启动提前写好的端口号为8090的项目,启动Nginx
浏览器输入http://hello.world.com/,以为80端口可以省略,所以这里相当于http://hello.world.com:80/地址取访问真实的http://localhost:8090地址
在这里插入图片描述

### 如何在 Windows Server 2016 上安装 Nginx #### 准备工作 确保操作系统环境已经准备好,包括但不限于确认网络连接正常以及必要的权限设置。 #### 下载 Nginx 及其他必要组件 前往[Nginx官方网站](http://nginx.org/en/download.html),下载适用于Windows平台的当前稳定版本[^1]。此外,还需要从[Jenkins仓库](http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/)获取最新的Windows服务包装器(windows service wrapper),这有助于更方便地管理Nginx作为后台服务运行。 #### 解压并配置 Nginx 文件 解压缩所下载的Nginx压缩包至指定位置,并将winsw.exe重命名为`nginx-service.exe`放置于同一目录内。此操作允许创建一个名为`nginx`的服务实例来控制Web服务器进程[^4]。 #### 修改配置文件 编辑位于conf子目录下的`nginx.conf`文件,根据实际需求调整监听端口、域名以及其他参数设定。对于希望强制HTTPS的情况,可参照如下样例: ```nginx server { listen 80; server_name your_domain.com; # Redirect all HTTP requests to HTTPS with permanent redirect (301) return 301 https://$host$request_uri; } ``` 上述配置会自动把所有的HTTP请求永久重定向到对应的HTTPS地址上去[^2]。 #### 启动与验证 Nginx 运行状态 完成以上步骤之后,在命令提示符窗口中切换路径至Nginx根目录执行以下指令启动服务: ```bash .\nginx-service.exe install net start nginx ``` 如果一切顺利的话,则应该可以在浏览器里输入服务器IP地址看到默认欢迎页面;也可以尝试停止再重启服务来进行初步的功能测试: ```bash net stop nginx net start nginx ``` #### 更新防火墙规则 考虑到安全性因素,默认情况下部分重要的通信端口可能是关闭的状态。因此建议检查并适当放开如TCP 80(HTTP), TCP 443(HTTPS)等常用web服务所需使用的端口号,以便外部能够正常访问部署的应用程序。 #### 加固SSL/TLS 设置(可选) 为了进一步提高网站的安全等级,推荐采用更加严格的加密协议组合方式,比如开启HTTP/2支持或是应用HSTS策略等等。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辰~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值