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,是解决前端跨域特别好用的方案。

相关推荐
彬彬醤17 分钟前
如何正确选择住宅IP?解析适配跨境、流媒体的网络工具
服务器·开发语言·网络·网络协议·tcp/ip
书唐瑞23 分钟前
谷歌浏览器和火狐浏览器对HTML的嗅探(Sniff)能力
前端·html
rocky19131 分钟前
谷歌浏览器插件 使用 playwright 回放用户动作键盘按键特殊处理方案
前端
rocky19135 分钟前
playwright里兼容处理回放无界微前端内iframe内部元素事件和不在无界微前端内的iframe元素
前端
rocky19137 分钟前
谷歌浏览器插件 使用 playwright 回放slide 拖动动作
前端
惺忪97981 小时前
回调函数的概念
开发语言·前端·javascript
前端 贾公子1 小时前
Element Plus组件v-loading在el-dialog组件上使用无效
前端·javascript·vue.js
天外飞雨道沧桑1 小时前
JS/CSS实现元素样式隔离
前端·javascript·css·人工智能·ai
程序0071 小时前
前端写一个密码登录,验证码登录,注册模板
前端
-曾牛1 小时前
从零到一:XSS靶场 haozi.me 全关卡通关教程(含冷知识汇总)
前端·网络安全·渗透测试·靶场·xss·攻略·靶场教程