目录
第一步:下载安装nginx
第二步:打包部署vue2项目
首页 运维 nginx Windows系统下如何使用nginx部署vue2项目

Windows系统下如何使用nginx部署vue2项目

May 16, 2023 pm 09:37 PM
vue windows nginx

第一步:下载安装nginx

1、首先我们要去nginx的官网下载windows版本的nginx

Windows系统下如何使用nginx部署vue2项目

2、点击下载链接后会下载得到如下一个nginx的压缩包:

Windows系统下如何使用nginx部署vue2项目

3、解压nginx压缩包,这里需要注意了哈,nginx的解压路径不能存在中文,否则nginx服务会无法正常启动的哈,不信你试试

Windows系统下如何使用nginx部署vue2项目

4、我们双击nginx.exe文件启动服务,细心观察的小伙伴会发现有一个黑色的弹窗一闪而过就消失了,那这就启动就完成了。

Windows系统下如何使用nginx部署vue2项目

5、然后我们打开浏览器访问:http://localhost 如果出现如下界面则表示nginx服务成功启动!

Windows系统下如何使用nginx部署vue2项目

6、如果无法正常访问的话可以先查看nginx目录下logs里面的日志文件,

Windows系统下如何使用nginx部署vue2项目

造成无法正常启动的原因可能有如下两点:

a、检查解压nginx的路径是否存在中文

b、打开cmd命令行窗口输入如下命令,查看80端口是否被占用了,nginx默认启动的端口是80端口

netstat -ano | findstr 0.0.0.0:80
登录后复制

如果输入上面命令出现如下内容则表示端口被占用

Windows系统下如何使用nginx部署vue2项目

7、如果端口被占用,我们需要修改nginx的默认启动端口,使用记事本打开conf目录下的nginx.conf配置文件

Windows系统下如何使用nginx部署vue2项目

在保存后,将server下的端口号80修改为8081,然后重新启动nginx目录下的nginx.exe文件

Windows系统下如何使用nginx部署vue2项目

如果还是无法正常启动,可以查看nginx目录下的logs目录里面的错误日志,然后自行百度一下

8、下面来简单介绍一下nginx的几个常用命令:

注意:需要在nginx目录下才能执行这些命令

a、启动nginx:

E:\nginx-1.22.0>start nginx 或
E:\nginx-1.22.0>nginx.exe
登录后复制

b、停止nginx:

E:\nginx-1.22.0>nginx.exe -s stop 或
E:\nginx-1.22.0>nginx.exe -s quit
登录后复制

c、重新启动nginx:

E:\nginx-1.22.0>nginx.exe -s reload
登录后复制

当修改了配置文件nginx.conf的内容后,需要执行上面这条命令,修改的配置才会生效。

第二步:打包部署vue2项目

1、打包vue项目:

npm run build
登录后复制

2、执行上面命令后会把项目打包并输出到dist目录下(打包后的文件因个人而异,这里是我公司项目打包后dist目录下的内容)

Windows系统下如何使用nginx部署vue2项目

3、在nginx目录下的html目录下新建一个static目录,并把刚刚打包后dist目录下所有文件都复制到static目录下

Windows系统下如何使用nginx部署vue2项目

4、修改nginx.conf配置文件

Windows系统下如何使用nginx部署vue2项目

担心图片你们复制不了,就把server里面添加的配置也粘贴到下面了:

    server {
       # nginx启动监听的端口
        listen       8081;
        # 可以是localhost和可以是本机ip地址,如果要给公司其他同事的电脑可以访问,需要 配置为本机的ip地址
        server_name  192.168.1.104;


	   # 配置页面中发送的请求代理到后端接口	
	   location /api {
	           #需要代理访问的后端服务器地址
	            proxy_pass http://10.8.5.42:8084;
	           #重写以/api为baseURL的接口地址
	            rewrite "^/api/(.*)$" /$1 break;
	    }

       location / {
          #程序根目录配置,也就是刚刚打包文件放置的目录
            root   E:\\nginx-1.22.0\\html\\static;
            index  index.html index.htm;
	       # 配置把所有匹配不到的路径重定向到index.html,vue-router的mode是history模式的情况下需要配置,否则会出现刷新页面404的情况
	       try_files $uri $uri/ /index.html;
       }
       
    }
登录后复制

在这里再详细说明一下上面添加的这些配置信息:

假设我现在把我windows系统上的nginx服务器的配置文件修改成上面这样子,然后启动nginx服务器,当我在浏览器中输入http://192.168.1.104:8081的时候,因为我的nginx服务器配置文件中的listen配置的端口是8081,所以浏览器的发送的http://192.168.1.104:8081这个请求会被端口为8081的nginx服务进行处理,然后会被location / {} 匹配,然后nginx就会找配置的root 路径下的index.html文件,并响应给浏览器,这时浏览器就可以访问到我们项目的页面了。

Windows系统下如何使用nginx部署vue2项目

这样页面就可以访问了,但是页面中发送的请求怎么进行处理呢?

在vue项目中当我们在页面中发送请求的时候,我们打开浏览器调试工具会看到,我们发送的请求的协议、域名和端口号其实是和访问页面的协议、域名和端口号是一样的,但是真正后端服务器的接口请求地址不是这样的。

Windows系统下如何使用nginx部署vue2项目

这时候我们就需要使用nginx一个强大的功能了,没错就是反向代理,我们可以配置nginx.conf文件,实现把页面中发送的请求都通过nginx进行反向代理访问真实服务器(其实这也是一种跨域的解决方案)。

假设后端服务器的地址是http://10.8.5.42:8084,请求后端服务的登录接口是http://10.8.5.42:8084/accounts/login,然后前端页面中发送的登录请求地址是:http://192.168.1.104:8081/api/accounts/login?userName=%E6%B2%88%E5%BF%A0%E6%98%8E&password=123456,这时我们就可以在nginx.conf配置文件中加入如下内容:

Windows系统下如何使用nginx部署vue2项目

看到这里有些伙伴可能就有疑问了,配置文件中的 :

 rewrite "^/api/(.*)$" /$1 break;
登录后复制

具体是什么意思,这里我刚刚开始也不理解????,后来查阅了很多资料,最终就理解通了,
这段配置的作用就是重写我们的请求地址,因为我这里前端页面发送的登录请求接口http://192.168.1.104:8081/api/accounts/login有加了个/api的baseUrl,但是真实的后端服务的登录接口http://10.8.5.42:8084/accounts/login是没有这个/api前缀的,所以我在这里需要重写前端发送的请求地址,把/api给去掉

当我们在nginx.conf配置文件中添加了上面这些配置后,需要执行nginx.exe -s reload命令来载入我们修改的配置,修改了配置文件一定要记得执行这条命令哦!,如果执行这个命令时出现下面的报错的话,不要慌!

Windows系统下如何使用nginx部署vue2项目

出现这个问题的原因是:你的nginx并未启动,所以无法加载配置文件,你先执行start nginx命令启动nginx再执行这条命令即可!

Windows系统下如何使用nginx部署vue2项目

以上是Windows系统下如何使用nginx部署vue2项目的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Vue3非setup语法糖中:如何在style标签内使用v-bind动态绑定props? Vue3非setup语法糖中:如何在style标签内使用v-bind动态绑定props? Apr 05, 2025 pm 06:12 PM

在Vue3非setup语法糖中使用CSS...

Vue3 Vite项目中TypeScript声明文件(.d.ts)缺失:如何排查并解决编译错误? Vue3 Vite项目中TypeScript声明文件(.d.ts)缺失:如何排查并解决编译错误? Apr 05, 2025 am 06:51 AM

Vue3 Vite项目中TypeScript声明文件(.d.ts)缺失问题的排查与解决在使用Vue3和Vite构建项目时,开发者经常会遇到从.ts�...

在移动端如何兼容多行溢出省略? 在移动端如何兼容多行溢出省略? Apr 05, 2025 pm 10:36 PM

移动端多行溢出省略在不同设备上的兼容问题在使用Vue2.0开发移动端应用时,常常会遇到需要对文本进行多行溢...

在router文件夹下的index.js文件中为什么需要调用Vue.use(VueRouter)? 在router文件夹下的index.js文件中为什么需要调用Vue.use(VueRouter)? Apr 05, 2025 pm 01:03 PM

在router文件夹下的index.js文件中注册VueRouter的必要性在开发Vue应用程序时,常常会遇到关于路由配置的问题。特�...

如何正确引入Element UI的index.css文件并避免样式加载失败? 如何正确引入Element UI的index.css文件并避免样式加载失败? Apr 05, 2025 pm 02:33 PM

关于ElementUI样式文件引入的最佳实践许多开发者在使用Element...

H5页面制作是前端开发吗 H5页面制作是前端开发吗 Apr 05, 2025 pm 11:42 PM

是的,H5页面制作是前端开发的重要实现方式,涉及HTML、CSS和JavaScript等核心技术。开发者通过巧妙结合这些技术,例如使用<canvas>标签绘制图形或使用JavaScript控制交互行为,构建出动态且功能强大的H5页面。

Vue.js组件中如何校验props属性间的关联值? Vue.js组件中如何校验props属性间的关联值? Apr 05, 2025 pm 12:48 PM

Vue.js组件中props属性的校验:关联属性值的验证在Vue.js开发中,我们经常使用props来接收父组件传递的数据。为�...

在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? 在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? Apr 05, 2025 pm 10:21 PM

在前端开发中如何实现类似Windows...

See all articles