部署的疑问?

部署的疑问?

老师我是后面章节回来提问的, 我有下面问题提问

  1. B端最后是通过脚手架发布上线项目的吧, B段打包好发布到OSS的bucket列表里面的吧图片描述
    图片描述
    2 咋们后端项目通过docker部署到服务器最后访问的是IP地址,而不是Https 这里是部署缺少 nginx 配置 ssl证书生成 可访问的https 的域名, 下面截图位置是不是https 替换就可以, 我本地运行可以访问ip地址可以, 但是我打包之后不能访问后端 是不是没有用https
    的原因
    图片描述
  2. 本地 打包必须 ./ 才可以是啥问题 源码是 /
    图片描述
    感觉目前比较迷茫就是都看完了 , 感觉前后串不起来了 请求指点迷津, 我咋样能正常走完

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
张轩 2023-03-05 09:26:10

同学你好,

以下是配置文件,我简单加了注释,我相信你应该能看懂:

# www 跳转到 https
server {
    server_name  www.imooc-lego.com;
    return       301 http://imooc-lego.com$request_uri;
 }
# 不带 https 的自动跳转到 https
 server {
    listen 80;
    listen [::]:80;
    server_name imooc-lego.com  h5.imooc-lego.com api.imooc-lego.com;
    return 301 https://$host$request_uri;
  }
  # 这里缩进有问题,就不改了
  # 基础配置 imooc-lego.com
    server {
    	listen 443 ssl http2;
    	listen [::]:443 ssl http2;
    	server_name imooc-lego.com;
    	ssl_certificate /etc/nginx/cert/imooc-lego.com/fullchain.cer;
   	ssl_certificate_key /etc/nginx/cert/imooc-lego.com/imooc-lego.com.key;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

   	location / {
          try_files $uri $uri/ /index.html;
    	}
	location @router {
          rewrite ^.*$ /index.html last;
    	}
        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }
# 后端配置 api.imooc-lego.com
  server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name api.imooc-lego.com;
    ssl_certificate /etc/nginx/cert/imooc-lego.com/fullchain.cer;
    ssl_certificate_key /etc/nginx/cert/imooc-lego.com/imooc-lego.com.key;
    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass http://127.0.0.1:8081;
    }
  }
# h5.imooc-lego.com,注意最后那个改写规则,就是它让完成了url 的改写
  server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name h5.imooc-lego.com;
    ssl_certificate /etc/nginx/cert/imooc-lego.com/fullchain.cer;
    ssl_certificate_key /etc/nginx/cert/imooc-lego.com/imooc-lego.com.key;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location ~ ^/p/(.*)$ {
        proxy_pass http://127.0.0.1:8081/api/pages/$1;
    }
  }


估计要下半年了,今年上半年还有其他的事情~

张轩 2023-03-04 09:26:15

同学你好

问题1: 

最简单就是直接传到服务器使用nginx 静态serve,当然这里最好是像你这样使用 OSS 上传,甚至还可以上 CDN 都是可以的,静态文件怎样都可以。我们的线上用的是 OSS 加 CDN。这个脚手架有讲的。它可以做到上线的时候自动上传到 OSS。

所以你那个地址确实替换掉就行了。


问题2:

这里是要绑定到对应的域名的,我们的代码库这里的地址只是演示用的,真正线上的是域名。

这里要做的就是将后端绑定域名就可以了,(我们这里课程中并没有涉及,在今年可能会更新一下在)都是 nginx 配置的,如果你需要的话,我可以提供给你 nginx 的配置文件供你参考一下。


  • 提问者 keep7677850 #1

    那老师麻烦提供一下nginx的配置文件吧, 今年计划啥时候跟新一下呢

    2023-03-04 10:09:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师