如何在同一台服务器中部署多个vue项目?
1.这里我们需要修改一下nginx的配置文件,这个配置文件是在nginx文件夹下的conf.d下面的nginx.conf文件,修改内容如下:
server {
listen 80;
server_name localhost;
location / {
root /etc/nginx/html/dist;
try_files $uri $uri/ /index.html;
}
}
server { #可以看到我们这里新增了一个server
listen 81; # 监听本地端口号81
server_name jshost; #名字可以随便取
location / {
root /etc/nginx/html/web; #定向到指定的文件夹
try_files $uri $uri/ /index.html; #在指定的文件夹下寻找index.html的文件
}
location ^~/simulation/ { #这些可以不写 ^~/simulation/ 通配符,表示当访问路径末尾为
proxy_pass http://10.101.80.74:8080/simulation/; # simulation时的路径,proxy_pass 为其转发地址到其他路径
}
location ^~/simulator/ {
proxy_pass http://10.101.80.21:4006/simulator/;
}
}
2.配置文件修改完成后,将之前的容器删除掉,我们重新启动容器,并将相对应的文件目录挂载上去就好 ,示例命令如下:
docker run -itd --name nginx -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/html:/etc/nginx/html -v /home/nginx/log:/usr/log/nginx -p 8081:80 -p 8082:81 nginx
命令是在之前启动一个项目的命令基础上增加了一个-p
-p 8082:81 指的是当访问这个服务器端口号为8082时,服务器上的nginx容器会转成81端口号,然后刚刚的配置文件中是写的监听本地81的端口号,这时候,一个服务器上有两个项目就大功告成了。