Nginx部署Vue项目
用Vue
开发时,经常配置这样的代理服务器(这里展示Vite
的配置项):
1 | { |
我们的需求大概是,把类似于这样的请求:
http://localhost/api/xxx
转发到:
http://localhost:8084/xxx
但是部署到Nginx服务器的时候,显然上面在Vite
里配置的代理服务器是无效的。
经过我的一番查询,发现下面这些配置是可以起到相同的作用的
解决方案
本文假设你刚安装好Nginx,还没有进行任何配置。
并且,我的服务器是Ubuntu,如果有些命令或者路径不一样,还请去搜一下对应系统版本的命令和路径是什么。
因为Nginx默认是有一个配置文件在生效的,我们需要把它注释掉。
找到配置文件nginx.conf
,我的服务器路径是/etc/nginx/nginx.conf
,找到类似于下面的这一项:
1 | include /etc/nginx/sites-enabled/*; |
把这句话注释掉,就是前面加个井号:
1 | ## include /etc/nginx/sites-enabled/*; |
刚才注释掉的这句话应该就在http
配置项里,下一步就是在这个配置项下新加一个server
项,下面可以这样配置:
1 | server { |
配置完后重启nginx
。
1 | nginx -s reload |
那么之后就可以把:
http://localhost/api
下的请求转发到:
http://localhost:8084
后记
如果你还需要配置多个代理,如在上文的基础上,还需要把:
http://localhost/api/test
下的请求转发到:
http://localhost:8085
那么需要进行这样的操作:
1 | location ~ /api/test/ { |
把这段配置放在之前配置的 /api
上面。一定要放在上面,否则你的请求会被转发到:
http://localhost:8084/test
就达不到我们的目的了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 喵喵小窝!