之前nginx下只有一個vue項目,跑的好好的。后來公司要求配一個帶項目名稱(BaseFrame)的vue ,原來的還保留供其他部門使用。
先是在nginx的html 下新建一個BaseFrame的文件夾,放進去一個test.html ,直接用 IP+端口號+項目名+test.html 就打開了,認為放vue項目也是純html 也應該能夠直接訪問,結果卻是差強人意,打不開頁面。
隨即搜網上的關鍵字“nginx 配置兩個vue”,給出的答案是修改vue自身的項目,有兩處:
1、router 的index.js 增加一行base:'/BaseFrame' ;

2、 /config/index.js 中 在build 節點下添加 '/BaseFrame';
這兩個是沒有問題的,必須這么做;

本地的修改是這兩處,另外還有一個地方始終沒明白,每次打包我都用test命令才可以訪問后台地址,否則就是網絡錯誤。
今天早晨了解到的知識點是test打包時單元測試,一般都用build,我將打包命令改成build,配置文件里的地址也切換成生產,進行打包后,還是提示網絡錯誤。
這里還是有點不解、有點困惑、有點納悶兒。
3、再說網絡環境,docker 下的nginx:
網上說需要修改nginx.conf ,在其中增加server{}節點,在server中配置location;但我照做之后發現nginx沒有啟動成功,應該是我修改配置文件出錯,恢復原樣后,正常啟動,也沒有用到server節點中的location,相當於nginx還是用原來docker run命令中的映射關系,直接指向nginx中的html;在修改了本地項目中的兩個地方后,可以通過nginx訪問了。
比較模糊的,也是沒搞明白的地方是:docker配置的nginx,在修改了宿主機配置的情況下,如何重啟nginx,使之生效;我嘗試了 docker restart 容器ID;沒有成功;可能的原因是當時的配置有錯誤,所以沒有啟動成功,而不是該命令的問題。
