项目部署问题

对于前后端分离项目直接用nginx进行转发

/api/对url 的后台路径进行转发

    #监听一个端口
server {
    listen       12085;
    server_name  localhost;
    location / {
    root   E:/company/web/Gzzhjkpc;
    }
    location /api/ {
    proxy_pass  http://localhost:28081/;
    }
}

前端项目中访问后台的接口一定要写nginx的监听端口

然后去匹配/api ===>>> 到jar包运行的端口

要不然访问不通过会跨域

如果不写端口 访问的还是本地的80端口 跨域 要通过nginx转发访问

var ipAndPort = 'localhost:12085/api'    ===>>>var ipAndPort = 'localhost/api'

image-20211116143314649

image-20211116143244270

如果在本地测试 localhost 和127.0.0.1 不一样 如果写的不一样会跨域

对于老项目中嵌套vue的

把vue项目打包放到老项目中配置访问路径 这样就不会出现跨域问题

#/ 后边直接组件的路由

image-20211116160043215

或者

通过nginx转发访问

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream myserver {
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
    }
    server {
        listen       12085;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   E:/company/web/Gzzhjkpc;
        }
        location /api/ {
	proxy_pass  http://localhost:28081/;
        }
		location /dist/ {
		root   E:/company/web/jgpcpage2021/vue-jcgs;
        }

}
}

image-20211116161428168

jar包 加载外部yml文件

image-20211125204601910

image-20211125204618436

把所用的yml文件放入config

nohup java -jar mobileMonitorServer.jar --Dspring.config.location=config/* >/dev/null 2>&1 &

Dockerfile

docker容器内加载外部启动文件d

FROM java:8
MAINTAINER lgl
ADD ./ /code
WORKDIR /code
EXPOSE 8080
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["java","-jar","service-side.jar","--Dspring.config.location=config/*"]

nginx代理问题

image-20211219160323796

image-20211219160259459

image-20211219160335527

都要修改要不然 访问不到

posted @ 2021-11-16 18:17  李广龙  阅读(59)  评论(0)    收藏  举报