zoukankan      html  css  js  c++  java
  • nginx部署同一个域名多个vue项目配置

    首先准备两个vue项目 端口 例如:8080  8087 

    第一个正常打包即可 访问时只需要输入域名  

    www.xxx.com;

    第二个项目访问路径为www.xxx.com/bi;

    在第二个项目找到配置文件修改自己的虚拟访问路径

    ps:

    baseUrl

    从 Vue CLI 3.3 起已弃用,请使用publicPath

    增加请求前缀

    然后修改路由

    router/index.js

     

     当打包好了之后修改index.html

    加入

     <meta base=/bi/>

    默认打包生成dist然后将其目录下所有的文件上传到你的应用服务器上

    不需要dist,在服务器先新建一个 bi (就是你的前缀文件夹)然后将这些文件上传到里面去

    打包上传到Linux 路径后

    nginx.conf配置

    server {
            listen       80;
            server_name  www.xxx.com;
            index index.html index.htm;
            #第一个vue项目
            location / {
                    root   /usr/local/server/war/portal;
                    index  index.html index.htm;
            }
            #第二个vue项目
            location /bi {
                   alias   /usr/local/server/war/bi/;#注意这里
                   index  index.html index.htm;
                   try_files $uri $uri/ /bi/index.html; #解决页面刷新404问题
            }
            #后端项目 请求转发至8090端口
            location /prod-api {
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://您的ip地址:8090/prod-api;
            }
    
            
             
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
     

    root与alias区别

    最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rewrite的break。

    (1) . alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/"不影响访问,访问时它会自动加上"/";
        但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
    (2) . root目录配置中,location匹配的path目录后面带不带"/",都不会影响访问。

    所以,一般情况下,在nginx配置中的良好习惯是:
    1)在location /中配置root目录;
    2)在location /path中配置alias虚拟目录。

    我在配置的时候 加上了 "/"那么在访问的时候 必须后面加上"/"

    最终两个项目访问时地址为 www.xxx.com    www.xxx.com/admin/

    然后保存 重启nginx

    进入到nginx安装目录下的

    bin/文件下 输入命令 ./nginx -t 检查配置文件 语法是否正确

    然后 重新加载配置文件 ./nginx -s reload

    即可

  • 相关阅读:
    Struts2再曝高危漏洞(S2-020补丁绕过)
    JavaWeb学习总结(十三)——使用Session防止表单重复提交
    JavaWeb学习总结(十二)——Session
    javaweb学习总结(十一)——使用Cookie进行会话管理
    如何做个好员工(转载)
    剖析云计算中的“共享型数据库”(转载)
    云计算的基本概念(转载)
    javaweb学习总结(十)——HttpServletRequest对象(一)
    javaweb学习总结(九)—— 通过Servlet生成验证码图片
    javaweb学习总结(八)——HttpServletResponse对象(二)
  • 原文地址:https://www.cnblogs.com/dzcici/p/13877338.html
Copyright © 2011-2022 走看看