nginx前端知识(nginx做前端服务器)
nginx做前端服务器
有几种部署方式,由项目复杂度而定。最简单的。
简单的小网站可以直接使用Node.js作为web服务器,不做前后端分离,使用后端模板填充数据,代表框架express。
如果要做负载均衡或者响应多端请求,那么采用前后端分离。前端代码可以放在CDN或nginx这类静态服务器上,前端向Node.js服务端发送rest请求。代表框架koa。
如果业务更加复杂,有较多的CPU密集型任务需要执行,那么Node.js后面再接一层服务器(Java、Python)来处理。
另外由于Node.js是单线程进程,一旦出错就会崩溃,导致服务端无法访问。所以部署Node.js的时候需要使用
PM2
,这样可以在Node.js程序崩溃之后及时重启,当然还有其它好处,比如灰度部署、负载均衡等。nginx部署前端vue
单独的vue项目,不需要运行环境的,直接打开即可。 就是不知道项目中是不是使用了其他的东西。
nginx 前端
1、二者最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 。nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有很多丰富的特性.所以还需要搭配着来.当然如果能确定nginx就适合需求,那么使用nginx会是更经济的方式。
2、nginx的负载能力比apache高很多。最新的服务器也改用nginx了。而且nginx改完配置能-t测试一下配置有没 有问题。
3、apache重启的时候发现配置出错了,会很崩溃,改的时候都会非常小心翼翼现在看有好多集群站,前端nginx抗并发,后端apache集群, 配合的也不错。
4、nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。
5、从经验来看,nginx是很不错的前端服务器,负载性能很好,nginx,用webbench模拟10000个静态文件请求毫不吃力。 apache对php等语言的支持很好,此外apache有强大的支持网络,发展时间相对nginx更久,bug少但是apache有先天不支持多核心处理负载鸡肋的缺点,建议使用nginx做前端,后端用apache。大型网站建议用nginx自代的集群功能。
6、大部分情况下nginx都优于APACHE,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端 Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数 飙升,从而拒绝服务的现象。
7、Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低,如果rewrite频繁,那还是Apache吧!
8、一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就apache 吧。
nginx配置vue前端工程和后端工程
在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。
最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如果是移动端页面就不行了。
解决办法
使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。
其实不仅是在开发调试时候能这么干,在生产环境也能这么玩。利用Nginx转发请求之后,就能够让所要部署的静态页面不需要放在跟请求接口同域的地方。
nginx前端服务器性能
Nginx是一个高性能的Web服务器和反向代理服务器,支持gzip压缩。gzip是一种在Web服务器和客户端之间传输数据时进行压缩的技术,可以显著减少传输数据的大小,从而提高Web页面的加载速度。
下面是Nginx开启gzip的优缺点:
优点:
提高网站速度:gzip压缩可以将数据压缩成更小的体积,这样可以减少Web页面加载时间,从而提高网站速度。
减少带宽使用:由于gzip压缩可以将数据压缩成更小的体积,因此可以减少带宽使用,降低网站的流量消耗。
改善用户体验:通过减少页面的加载时间,可以提高用户的体验,并提高他们对网站的满意度和忠诚度。
缺点:
压缩需要消耗CPU资源:由于压缩需要消耗CPU资源,因此开启gzip压缩可能会增加服务器的CPU负载,对于性能较低的服务器可能会影响性能。
压缩可能会增加内存使用:在进行gzip压缩时,需要使用一定的内存资源来存储压缩后的数据,如果压缩的数据量较大,可能会增加服务器的内存使用。
综上所述,开启gzip压缩可以提高网站的速度和用户体验,但需要注意压缩可能会增加服务器的CPU和内存使用。如果服务器性能较低或者带宽资源充足,可以考虑不开启gzip压缩。
nginx前端部署
h5好像只是前端吧,使用http服务器,比如nginx等,直接正常部署就可以了。配置下后端api的反向代理。就可以正常请求后端服务了。
后端需要看你使用的什么语言编写的,java的通常就是java -jar命令,node js的也是使用对应的node命令启动后端服务。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.