window环境下使用nginx部署多个项目(详细)

在官网下载相应版本的nginx安装包,链接如下:
nginx: download

下载压缩包之后找一个目录解压就行了,我这里放在 D:\Program Files (x86) 目录下。

 

 可以直接双击nginx.exe 本地启动nginx服务器。但是更推荐使用命令行:在这个目录下cmd打开黑窗口:D:\Program Files (x86)\nginx-1.24.0。下面是三个常用的命令

  • start nginx            启动nginx服务器
  • nginx -s stop        停止nginx服务器
  • nginx -s reload     重启nginx服务器,修改nginx.conf配置文件后,需要重启生效

 启动成功后,在浏览器输入:localhost,也可以输入本机的ip,就会出现如下页面:

 能出现上面的页面主要是因为,nginx.conf中的这一段配置:

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;
	}
}

 root 设置的是实际访问的路径,比如html,就是访问当前的html目录

所以要想在nginx配置多个项目,就是要在nginx.conf中配置多个server,监听不同的端口号,设置root指向不同的路径就行了。

我一个用了三个测试的前端项目,分别是:vue-cli创建的vue2和vue3项目,还有vite创建的react项目。

在html中新建三个文件夹,名字可以随便取,我这里分别叫vue2-init、vue3-init、vite-react-init。这三个文件夹下放的是对应相应npm run build之后生成的dist文件夹

 然后修改nginx.conf的配置文件,复制一个新的server,listen的端口号和root的路径。nginx -s reload 重启nginx服务器。

 在浏览器中可以访问:

 除了localhost,也可以是用本机ip+端口访问:

 这样就在本地部署了几个不同的前端项目。

此外,说一下配置nginx.conf 时的注意事项:

1、我以为端口号是随便写的,第一次上来就写了一个6666,结果一直如下界面。

2、root 的配置,初始的root是 html,以及在linux下的root配置一般都是如下这种

location / {
    root         /home/tools/nginx/html/web;
    index        index.html;
}

在window环境下,root要指定路径:D:/Program Files (x86)/nginx-1.24.0/html/vue2-init/dist

如果路径中有空格,需要使用双引号。还要注意斜杠的方向。我直接复制本机文件资源管理器的路径,会报错。

 

 

 3、此外再说一个,使用nginx配置,本地链接直接访问百度网站的案例

新增一个location,路径是/bd,重启后,访问:http://localhost:3002/bd

显示的就是百度的网站 

 http://localhost:3002/bd?&wd=%E8%B7%AF%E8%99%BD%E8%BF%9C%E8%A1%8C%E5%88%99%E5%B0%86%E8%87%B3%EF%BC%8C%E4%BA%8B%E8%99%BD%E9%9A%BE%E5%81%9A%E5%88%99%E5%BF%85%E6%88%90

当前端出现跨域时,用nginx修改proxy_pass,是解决前端跨域特别好用的方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/225889.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

「神印王座」萝莉女神小六打劫,白送10万功勋点,王原原恋人登场

Hello,小伙伴们,我是拾荒君。 备受瞩目的《神印王座》第84集终于更新了。更新后,拾荒君也是迫不及待地观看了一番。在本集中,龙皓晨率领的光之晨曦猎魔团在成功完成一项王级任务后,每个成员都获得了丰厚的功勋点。然而&#xff0…

[⑦ADRV902x]: JESD204学习笔记

前言 JESD204B/C基于SERDES(SERialization/DESerialization)技术,也就是串化和解串,在发送端将多位并行的数据转换为1 bit的串行数据,在接收端将串行数据恢复成原始的并行数据。 在JESD204接口出现以前,数…

Java程序员,你掌握了多线程吗?【文末送书】

目录 摘要 01、多线程对于Java的意义 02、为什么Java工程师必须掌握多线程 03、Java多线程使用方式 04、如何学好Java多线程 参与方式🥇 推荐一个人工智能学习网站 https://www.captainbed.cn/bear 摘要 互联网的每一个角落,无论是大型电商平台的…

亚马逊自养号测评和真人测评的区别,优劣剖析

大家都知道亚马逊的review对产品listing曝光和流量是有很大影响,但是亚马逊的review又不是那么容易获取的,再加上亚马逊平台风控的不断严苛,所以卖家们想尽办法打造爆款listing是每个亚马逊卖家共同的目标,尤其是当旺季到来时&…

0基础学习云计算难吗?

很多人经常会问云计算是什么?云计算能干什么?学习云计算能做什么工作?其实我们有很多人并不知道云计算是什么,小知今天来给大家讲讲学习云计算能做什么。 中国的云计算行业目前正处于快速发展阶段,随着互联网和数字化…

部署springboot项目到GKE(Google Kubernetes Engine)

GKE是 Google Cloud Platform 提供的托管 Kubernetes 服务,允许用户在 Google 的基础设施上部署、管理和扩展容器。本文介绍如何部署一个简单的springboot项目到GKE. 本文使用podman. 如果你用的是docker, 只需要把本文中所有命令中的podman替换成docker即可 非H…

工作中的疑难杂症(编译ninja failed with: exit status 137)

问题:先来看报错提示 起初出现这个问题我就搜索了一下,大家都说。 此问题是因为asop/build/soong/java/config/config.go文件内定义了pctx.StaticVariable("JavacHeapSize", "2048M"),javaheap的大小与ubuntu18系统的内…

网络通信的流程,浏览器地址?

1.没有交换机的通信 在一个机房内,有两台电脑相互需要通信 假设现在有三台电脑: 随着电脑的增加,线的数量也在增加,因此显得很臃肿,次数交换机诞生,很好的解决了这一方面, 交换机不需要进行多条线的连接: 通过给设备分配,ip地址来实现局域网…

C语言内存函数讲解

目录 文章目录 内存函数针对的数据类型不确定可能是整型数据,字符数据,结构体数据...... memcpy的使用和模拟实现 memcpy的使用 memcpy打印字符数据 memcpy打印整型数据 memcpy的模拟实现 模拟实现的memcpy打印重叠情境 memmove的使用和模拟实现 memm…

【HarmonyOS开发】DevEco Studio安装及其配置

目录 前言下载工具准备开始安装配置开始新建一个项目 前言 DevEco Studio是一款用于开发HarmonyOS应用的集成开发环境,在安装DevEco Studio的时候,可能会在安装或者配置的时候出现各种各样的小问题,在此做下记录。 下载工具准备 官网下载地…

详解线段树

前段时间写过一篇关于树状数组的博客树状数组,今天我们要介绍的是线段树,线段树比树状数组中的应用场景更加的广泛。这些问题也是在leetcode 11月的每日一题频繁遇到的问题,实际上线段树就和红黑树 、堆一样是一类模板,但是标准库…

cocos creator “TypeError: Cannot set property ‘string‘ of null

背景: 学习cocos creator时遇到"TypeError: Cannot set property string of null" 错误。具体代码如下:property({ type: Label })public stepsLabel: Label | null null;update(deltaTime: number) {this.stepsLabel.string Math.floor(…

uniapp实战 —— 猜你喜欢(含滚动触底分页加载)

效果预览 组件封装 src\components\SUI_Guess.vue <script setup lang"ts"> import { ref, onMounted } from vue import type { GuessItem } from /types/index import { getGuessListAPI } from /apis/index import type { PageParams } from /types/global…

Vue实现注册页面的用户交互

&#x1f4d1;前言 本文主要是【Vue】——Vue实现注册页面的用户交互的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每…

【【FPGA的 MicroBlaze 的 介绍与使用 】】

FPGA的 MicroBlaze 的 介绍与使用 可编程片上系统&#xff08;SOPC&#xff09;的设计 在进行系统设计时&#xff0c;倘若系统非常复杂&#xff0c;采用传统 FPGA 单独用 Verilog/VHDL 语言进行开发的方式&#xff0c;工作量无疑是巨大的&#xff0c;这时调用 MicroBlaze 软核…

春风十里不如你——掌握Spring Boot的常用关键注解

引言 在Java的世界里&#xff0c;Spring Boot以其简化的配置和开箱即用的特性&#xff0c;成为了构建现代微服务和企业级应用的首选框架。Spring Boot的注解是这一切的核心。在本文中&#xff0c;我们将深入探讨最常用的Spring Boot注解&#xff0c;帮助你轻松驾驭Spring Boot…

simulink merge模块使用案例分析

作用&#xff1a;汇总多个信号分支&#xff0c;但最终可根据用户设定条件选择某路分支输出 Enabled Subsystem3 Enabled Subsystem2 分析&#xff1a;可以看到&#xff0c;在1s时刻输出 Enabled Subsystem2的1&#xff0c;在2s时刻输出 Enabled Subsystem3的2。 为方便理解&a…

私域最全养号攻略---微信

微信号的使用规则&#xff1a; 注册新微信、微信实名认证、主动添加好友、面对面建群、被动添加好友、进群限制、朋友圈限制、好友上限 微信权重加分规则&#xff1a; 基础信息是否完整、注册时间、微信使用行为、 微信权重扣分规则&#xff1a; 使用的环境是否正常、部分行为会…

GAN:WGAN

论文&#xff1a;https://arxiv.org/pdf/1701.07875.pdf 发表&#xff1a;2017 WGAN 算法流程 从GAN 到 WGAN 的转变 相比于原始 GAN&#xff0c;WGAN 只需要修改以下几点&#xff0c;就能使得训练更稳定&#xff0c;生成质量更高&#xff1a; 1. 此时的判别器相当于做回归…

JavaSE语法之五:数组的定义与使用(超详解!!!)

文章目录 一、数组的概念1. 什么是数组2. 数组的创建及初始化3. 数组的使用3.1 数组中元素的访问3.2 遍历数组 二、数组是引用类型1. 初始JVM的内存分布2. 基本类型变量与引用变量的区别3. 引用变量4. 认识null 三、数组的应用场景1. 保存数据2. 作为函数的参数2.1 参数传基本类…