当前位置: 首页 > news >正文

Nginx的安装与配置(window系统)

目录

一、下载 Nginx

二、安装 Nginx

三、启动 Nginx

四、Nginx 常用命令(Windows 命令行)

五、配置 Nginx(核心步骤)

1. 部署静态网站

2. 反向代理(解决前端跨域)

3. 多站点配置(基于端口)

六、常见问题解决

七、设置 Nginx 开机自启(可选)


在 Windows 系统中安装 Nginx 相对简单,主要通过官方压缩包手动部署。以下是详细的安装和配置步骤:

一、下载 Nginx

  1. 访问 Nginx 官方下载https://nginx.org/en/download.html
  2. 选择 Stable version(稳定版,推荐生产环境使用),下载 Windows 版本的压缩包(如 nginx-1.24.0.zip)。

二、安装 Nginx

  1. 将下载的 nginx-xxx.zip 压缩包解压到一个目录(建议路径不要包含中文或空格,避免冲突),例如:C:\nginx-1.24.0(解压后目录结构如下):
    nginx-1.24.0/
    ├── conf/          # 配置文件目录(核心)
    ├── docs/          # 文档
    ├── html/          # 默认网站根目录(存放静态文件)
    ├── logs/          # 日志文件
    ├── temp/          # 临时文件
    └── nginx.exe      # 主程序
    

三、启动 Nginx

  1. 通过命令行启动(推荐,便于操作):

    • 按下 Win + R,输入 cmd 打开命令提示符。
    • 切换到 Nginx 安装目录:

      cmd

      cd C:\nginx-1.24.0
      
    • 启动 Nginx:

      cmd

      start nginx
      
      (启动后无明显提示,可通过任务管理器查看 nginx.exe 进程确认是否运行)
  2. 通过软件程序启动

        打开下载的文件位置,找到nginx.exe,双击启动即可。

        

    3. 验证启动成功:打开浏览器访问 http://localhost 或 http://127.0.0.1,若看到 "Welcome to nginx!" 页面,说明启动成功。

四、Nginx 常用命令(Windows 命令行)

在 Nginx 安装目录下执行以下命令:

命令作用
start nginx启动 Nginx 服务
nginx -s stop强制停止 Nginx(快速关闭,可能丢失数据)
nginx -s quit优雅停止 Nginx(处理完当前请求后关闭)
nginx -s reload重新加载配置文件(修改配置后执行)
nginx -s reopen重新打开日志文件(日志切割时使用)
nginx -v查看 Nginx 版本
nginx -t检查配置文件语法是否正确

五、配置 Nginx(核心步骤)

Nginx 的主配置文件为 conf/nginx.conf,以下是常用配置场景:

1. 部署静态网站

假设静态文件(HTML/CSS/JS)放在 C:\www\mywebsite 目录,修改 conf/nginx.conf 中的 server 块:

nginx

server {listen       80;       # 监听 80 端口server_name  localhost;  # 域名(本地测试用 localhost)# 网站根目录(指向你的静态文件目录)root   C:/www/mywebsite;  # 注意 Windows 路径用 / 或 \\index  index.html index.htm;  # 默认首页# 访问日志(可选)access_log  logs/mywebsite_access.log;error_log   logs/mywebsite_error.log;
}

修改后执行 nginx -s reload 生效,访问 http://localhost 即可看到你的网站。

2. 反向代理(解决前端跨域)

例如将前端项目的 /api 请求代理到后端服务 http://127.0.0.1:3000

server {listen       80;server_name  localhost;# 前端项目根目录root   C:/www/frontend;index  index.html;# 代理 API 请求location /api/ {proxy_pass http://127.0.0.1:3000/;  # 后端服务地址(末尾 / 确保路径正确)proxy_set_header Host $host;        # 传递主机名proxy_set_header X-Real-IP $remote_addr;  # 传递客户端真实 IP}# 单页应用(Vue/React)路由兼容(避免刷新 404)location / {try_files $uri $uri/ /index.html;}
}
3. 多站点配置(基于端口)

通过不同端口部署多个网站,在 nginx.conf 中添加多个 server 块:

# 第一个站点(80 端口)
server {listen       80;server_name  localhost;root   C:/www/site1;index  index.html;
}# 第二个站点(8080 端口)
server {listen       8080;server_name  localhost;root   C:/www/site2;index  index.html;
}

重启 Nginx 后,可通过 http://localhost(80 端口)和 http://localhost:8080 访问不同站点。

六、常见问题解决

  1. 端口被占用导致启动失败

    • 错误表现:启动后浏览器无法访问,logs/error.log 中提示 bind() to 0.0.0.0:80 failed (10013: ...)
    • 解决:关闭占用 80 端口的程序(如 IIS、Apache 或其他服务),或修改 nginx.conf 中 listen 为其他端口(如 8080)。
  2. 修改配置后不生效

    • 必须执行 nginx -s reload 重新加载配置,若仍不生效,可先 nginx -s quit 停止,再 start nginx 重启。
    • 或者在任务管理器中关闭Nginx任务,在执行一次nginx.exe程序
  3. 中文路径或文件名导致 404

    • Nginx 对 Windows 中文路径支持较差,建议网站目录和文件名避免中文和空格。
  4. 日志文件过大

    • 日志位于 logs/access.log 和 logs/error.log,可定期手动删除或配置日志切割工具。

七、设置 Nginx 开机自启(可选)

Windows 中默认不会开机自启 Nginx,可通过以下方法配置:

  1. 创建一个批处理文件 start_nginx.bat,内容:

    bat

    @echo off
    cd C:\nginx-1.24.0
    start nginx
    
  2. 将批处理文件放入系统启动目录:
    • 按下 Win + R,输入 shell:startup,打开启动文件夹。
    • 将 start_nginx.bat 复制到该文件夹,重启电脑后 Nginx 将自动启动。

通过以上步骤,即可在 Windows 系统中完成 Nginx 的安装、配置和基本使用。如需更复杂的功能(如 HTTPS、负载均衡),配置方式与 Linux 类似,只需修改 nginx.conf 并适配 Windows 路径格式即可。

http://www.dtcms.com/a/535856.html

相关文章:

  • vue3虚拟列表
  • vue之异步更新队列
  • 软文推广有哪些企业关键词优化推荐
  • REFramework下载和安装教程(附安装包)
  • 散户如何做手机T0程序化交易(上)
  • JMeter:执行顺序与作用域
  • Java的自定义异常,throw和throws的对比
  • 哪些知名网站用wordpress建设摩托车是名牌吗
  • Apache JMeter下载和安装图文教程(附安装包,适合新手)
  • MySQL查询字段只有中文的数据
  • 基于Docker、Solr和FastAPI的商品搜索微服务架构设计
  • Woodpecker CI 轻量级持续集成系统深度解析
  • 2.2.2.2 大数据方法论与实践指南-Java Web CI/CD 工具
  • 快速学习React-(第二天)-完成井字棋游戏
  • 石家庄网站开发培训家教网站开发公司
  • 如何制作网址快捷方式深圳网站优化怎么做
  • 聊聊Spark的分区
  • 国产之光:奥威BI的AI数据分析平台,重新定义商业智能
  • Android ContentProvier
  • uni-app OCR图文识别
  • 二叉树的多种遍历方式
  • Vue3 + Electron + Node.js 桌面项目完整开发指南
  • 【Node.js】Node.js 模块系统
  • 古籍影文公开古籍OCR检测数据集VOC格式共计8个文件
  • 网站的对比哪些网站是做免费推广的
  • 网站建设的整体流程有哪些?建筑工程网站建站方案
  • 区块链的密码学基石:沙米尔秘密共享(SSS)数学原理详解
  • 单例模式详解:从基础到高级的八种实现方式
  • 改版网站收费wordpress国人主题
  • web3.0是什么