前端项目部署圣经(你想要得方案都有)

281 阅读3分钟

说到部署,在远古jsp时代,这时还没前端啥事情,那是前后端没分离时期,部署时其实是在服务器端部署Javaweb。当你访问.jsp时,服务器端动态解析生成Java,在编译成.class文件,最后把结果响应(response )给客户端。

out.write("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\r\n");

很明显返回html,到后来发展返回拼接html太麻烦就有了模板引擎FreeMarker,Velocity,Thymeleaf。这时已经越来越接近现在了。之后就出现了前后端分离,至此才有前端部署。那前端部署得实质就是静态资源,html,css,js等,下面我们就看看有哪些方案:

1.nginx

说到nginx,很多人都不陌生,或多或少得都听过,这个也是很常见得前端部署方案。使用很简单只需要把代码打包后上传到服务器上,只需要配置下root,你刚上传得目录,然后就可以了。

server {
  listen 80; // 之前开放的端口
  server_name localhost; // 项目访问的地址,项目正式上线后的域名地址
  location / {
    root /test/programs/项目文件夹
    index index.html index.htm;
    error_page 500 502 503 504 /50x.html;
    location  = /50x.html {
        root html
    }
  }
}

当然了,nginx还可以做反向代理,可以做资源重定向等,很方便,前端部署选择方案比较多得,还有一个好处,稳定加并发高(稳定2w并发)。

2.node

nodejs部署其实对于现在得前端来说很熟悉,nodejs做服务端时那些HTML就是用它部署得。还有我们平时开发时使用得运行npm run satrt什么得都是基于webpack-dev-server,还有配置devServer.proxy,代理什么得,这都是node服务,都是基于node部署得。

var express = require("express");
var app = express();

app.use(express.static("public")).listen(8080);

然后我们只需要将打包好得放到public目录下就好了。这个部署也很简单,node部署并发可很高,只不过单线程容易挂,需要启动守护线程来维持高稳定。

3.tomcat

这个对于Java很熟悉,使用起来可很简单,前端打包好后把有html的文件夹放在tomcat的webapps目录下,然后启动tomcat即可,也很方便。tomcat得并发并不是很高,使用他部署大多数是习惯Java得或者,项目部署交给Java处理得。我们所熟悉得springmvc,springboot等都可以部署前端,原理也就是tomcat,而使用springmvc,springboot打成jar,war然后用tomcat后动态得,这样可以做反向代理,跨域完全可以这样解决,和node部署做跨域处理一样得道理。

4.Apache

原理和tomcat,只需要将打包好得放到指定目录,当然这个目录可改,在httpd.conf文件中,具体在哪看你选得版本对应了。

5.JBoss

原理差不多,具体可以去看看JBoss使用

6.IIS

这个很古老了,上了年纪得估计知道

7.Lighttpd,IBM WebSphere

这个也可以,只不过使用不多,可以了解

之后遇到什么问题都可以讨论,不管你用得是docker,podman等容器部署,或者openshift,k8s等都不离其中