最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 前端部署--基于nginx和docker

    正文概述 掘金(lavie)   2020-12-02   810

    部署---前端小菜鸡翻身第一步

    首先列一下我部署需要的环境,准备好这些应该就ok啦

    • Ubuntu 18.04 64位
    • Docker version 19.03.13
    • node v14.15.1

    准备好环境之后就可以开始部署啦

    docker pull nginx

    将nginx镜像拉到本地仓库

    docker images

    列出本地主机上面的镜像

    前端部署--基于nginx和docker

    走到这步那基本的环境就基本配好了,我们接下来的任务是将一个,将一个简单的html文件打包成一个docker镜像。

    • 创建一个文件夹 mkdir DockerTest
    • 在文件夹里面创建两个文件 vim index.html \ vim DockerFile 解释一下这两个文件html文件写入你静态网页的内容,Dockerfile文件则是docker的打包命令

    Dockerfile里面写入如下代码 index.html自己随便写点就OK了

    FROM nginx
    
    COPY ./index.html /usr/share/nginx/html/index.html
    
    EXPOSE 80
    

    简单解释一下这个文件的意思

    • FROM nginx:基于哪个镜像

    • COPY ./index.html /usr/share/nginx/html/index.html:将主机中的./index.html文件复制进容器里的/usr/share/nginx/html/index.html 如果对此有问题的同学可以看一下下nginx的基本配置

    • EXPOSE 80:容器对外暴露80端口

    完成到这步ok,看一下目录结构

    前端部署--基于nginx和docker

    打包镜像

    在此目录下

    docker image build ./ -t docker-test:1.0.0 运行Docker脚本打包文件成一个镜像镜像名要用小写

    执行命令之后输入 docker images 查看镜像文件是否生成

    前端部署--基于nginx和docker

    看到镜像打包好了之后就可以依据该镜像生成容器了

    docker container create -p 3000:80 docker-test:1.0.0

    docker container start xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    前端部署--基于nginx和docker

    完成后输入docker ps

    前端部署--基于nginx和docker

    可以看到基于docker-test镜像容器已经运行在3000端口了,接下来输入你的公网ip地址:3000 查看

    前端部署--基于nginx和docker

    如果打不开那就检查一下服务器的防火墙有没有开,还有如果是用云服务器的话需要配置一下安全组规则,给3000端口访问的权限,因为云服务器默认是没有这个端口的访问权限的。这几步搞定肯定就能显示内容啦!

    做到这里恭喜你,成功已经近在眼前了!单单一个静态页面完全没有意思啊,我们得把我们的前端项目放上去,并且可以和后端进行交互才算走完一个基本流程。

    基于antd pro部署

    • 首先准备一个自己的前端的项目,我就拿一个antd pro脚手架来做记录
    • 把项目建好上传到github,然后再拉下来
    • 执行 npm run build 将项目打包好,umi3是打包到根目录到dist文件夹里面 (服务器里面需要安装好高版本的node,这里推荐用nvm做node版本管理)

    打包完成后进入根目录新建成一个Dockerfile文件在里面写入

    FROM nginx:latest //镜像
    MAINTAINER lavie //作者名字写你自己的就好了
    COPY default.conf /etc/nginx/conf.d/default.conf  //引入nginx的配置文件?代码
    COPY dist/ /usr/share/nginx/html/
    

    然后在新建一个default.conf文件在根目录如下

    server {
        listen 80;
    
        root /usr/share/nginx/html;
        location / {
            try_files $uri $uri/ /index.html;
        }
    
        location /api.test/ {              
            proxy_pass xxxxxxxxxxx; #后端地址写写你们后端的就行了
            proxy_set_header Host $host;
        }
       
    } #比如你在umi-request里面写/api.test/study/major/list
      #那么上面这几个语句就会帮你转到proxy_pass/study/major/list
    

    ok文件写好了,是不是其实和上面那个静态文件一样呢,我们来打包看看效果

    打包过程和上面一模一样,我就直接上图了

    前端部署--基于nginx和docker

    可以看到容器运行在3001端口了,打开看一下

    前端部署--基于nginx和docker

    OK没问题 看一下接口

    前端部署--基于nginx和docker

    那必然是可以滴

    走到这里似乎前端使用docker和nginx进行部署最最基本滴操作也算完成啦,哈哈是不是很简单,毕竟工科,项目运行起来当然是最重要的一步,以后更多的docker和nginx我会继续更新的!

    前端部署--基于nginx和docker

                                                                                                                      ---网图侵删


    起源地下载网 » 前端部署--基于nginx和docker

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元