Skip to content

1.项目配置

注意只能写成 ip,不能写 localhost 会访问不到

image-20230321005324306

image-20230321005035063

image-20230321005001044

image-20230321004926712

2.nginx.conf 配置

image-20230321005205169

用宝塔的 nginx 即可!

image-20230321005137476

注意:localtion /api 的配置 不是必须的!一般情况下我们不需要配置这个转发,只需要配置/转发到 index.html 即可

bash
server {
    listen       8080;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
        error_page 405 =200  $request_uri;
    }

    #location后有 / proxy_pass后有 /
    #最终nginx转向地址为http://192.168.251.1:80
    location /prod-api/ {
        proxy_pass   http://192.168.251.1:80/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    #location后无 / proxy_pass后有 /
    #最终nginx转向地址为http://192.168.251.1:80
    location /prod-api {
        proxy_pass   http://192.168.251.1:80/;
    }
     #location后有 / proxy_pass后无 /
    #最终nginx转向地址为http://192.168.251.1:80/prod-api
    location /prod-api/ {
        proxy_pass   http://192.168.251.1:80;
    }
     #location后无 / proxy_pass后无 /
    #最终nginx转向地址为http://192.168.251.1:80/prod-api
    location /prod-api {
        proxy_pass   http://192.168.251.1:80;
    }
}

/prod-api 这种配置是在前端请求的时候由http://47.98.138.0:8082/canvas/写为:http://prod-api/canvas/才需要,目的是为了统一转发到后端对应端口或者ip,方便后端改端口,而不需要去前端重新改端口打包部署了

还有一种情况需要/prod-api 就是在配置 https 时才需要!

3.部署后端 springboot 即可

nohup java -jar 运行

bash
#服务器后台运行jar包并生成日志文件
nohup java -jar XXX.jar >XXX.log 2>&1 &
#关闭
ps -aux 找到对应服务的PID
kill -9 PID

4.跨域问题

打开阿里云和宝塔的防火墙

image-20230321223423538

这样应该只需要后端配置跨域即可,nginx 不需要多余的配置

5.配置 proxy_pass

配置路径:apit,apiu

如果只有一个后端,可以直接 base_url=api

image-20230321223617920image-20230321223632787

nginx 修改配置:

bash
server {
    listen 80;
    server_name lovetotravel;
    location / {
        root html/dist;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
    location /apit {
        proxy_pass   http://47.98.138.0:8082/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location /apiu {
        proxy_pass   http://47.98.138.0:8081/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}