300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > lua游戏编程入门 Nginx到底能做什么 – 游戏开发 – 前端

lua游戏编程入门 Nginx到底能做什么 – 游戏开发 – 前端

时间:2021-06-07 03:11:24

相关推荐

lua游戏编程入门 Nginx到底能做什么 – 游戏开发 – 前端

什么是nginx

Nginx(发音为“ engine-x”)是一种开源软件,最初被设计为高性能Web服务器。今天,Nginx可以完成其他一些任务,包括缓存服务器,反向代理服务器,负载平衡器等等

web服务器

目前主流使用的web服务器软件,主要有apache、nginx、tomcat、iis等,在全球范围内来说,Apache是现有的最流行的Web服务器,但是在高流量网站中最流行的Web服务器确实nginx,在偶国不管是大中小互联网公司,主流选择的也是nginx作为web服务器软件。一份来自Netcraft的调查中,发现Apache的使用率为31.54%,Nginx的使用率为26.20%。

HTTP代理服务器

HTTP代理,分两类:一种的正向代理,一种是反向代理。

反向代理。就是真实服务器不直接访问,而是通过代理进行访问,代理服务器和真实服务器是在同一个网络环境。对于访问来说是无感的,代理服务器对于访问者来说就是提供服务的服务器。基于nginx的反向代理,可以实现分布式(不同子域名访问不同的服务后端节点)和负载均衡(相同的域名访问多个相同的后端节点)正向代理。与反向代理类似。不同的是正向代理是客户端的代理。对于服务端来说,代理就是一个访问者。网上寻找的HTTP代理就属于正向代理

反向代理和正向代理的区别:

正向代理:针对客户端而言,代理服务器代理客户端,转发请求,并将获得的内容返回给客户端。

反向代理:针对客户端而言,代理服务器就像是原始服务器,代理集群的web节点服务器返回结果。

负载均衡器

负载均衡也是Nginx常用的一个功能,基于nginx反向代理。负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。

Nginx目前支持自带3种负载均衡策略(轮询、加权轮询、IP哈希),还有2种常用的第三方策略(fair、url哈希)。

缓存服务器

nginx可以实现图片、css、js等静态资源文件的缓存,nginx作为缓存服务器时是搭配nginx作为反向代理服务器一起使用的。当客户端第一次通过nginx向后端资源服务器请求静态资源,响应给对应的客户端同时自身缓存一份,后续如果请求相同的资源,就不需要再次向后端服务器请求了,除非缓存被清理或者缓存过期。

结束语

nginx的几个功能很少单一使用,基本都是几个功能搭配混合在一起使用。做实际项目中,nginx一般作为七层负载均衡器,实现分布式架构和应用服务器高可用,还可以实现动静分离,同时缓存静态资源,减轻后端服务器负载。

由于nginx的模块化设计,通过第三方模块,还可以实现其他一些功能,以上都是nginx自带模块实现的,如果你还知道nginx可以实现哪些功能,欢迎在评论区留言!

文|技术猿小黄图|来源于网络

偶是技术猿小黄,很高兴为您回答,如果您喜欢偶的回答,可以关注偶,点个赞,谢谢!

Lua在很多方面与javascript类似?

首先纠正一下:lua是门语言,语言和框架是不同的。nodejs是集成了v8引擎的软件,有了它用javascipt写后端了,它是软件而不是一门编程语言。偶想这个问题是想问,为什么lua语言流行度不如javascript吧。

因为性能只是流行的一个因素,如果全看性能,那现在都是汇编、c语言的天下了。

javascript能流行有它的机遇。浏览器天生只支持javascript(vbscript可以忽略不计),让它在前端有了不可代替的地位,这是它最大的优势。而nodejs的出现让javascipt站上更大的舞台,后端也能和其他语言竞争了,这让它有了更加独特的魅力。

lua性能好,但是应用上场景不明确。偶知道,有的游戏可以用lua写脚本,还可以做网站后台,但是这些都面临着其他编程语言的竞争,不是不可替代的,缺少噱头,曝光率小一些。

python能做软件开发吗?

当然可以,这里以Python桌面软件开发为例,简单介绍几个非常不错的模块和第三方库,感兴趣的朋友可以尝试一下:

01tkinter

这是一个非常基础的Python GUI开发库(标准库),免费、开源、跨平台,自带组件和容器完全可以满足日常开发,不过在界面设计及布局方面有所欠缺,如果你对这方面要求不高,只是一个简单的桌面软件,可以使用一下这个模块,非常不错,简单易学,非常容易入门:

02easygui

这是一个基于tkinter的GUI开发库,对tkinter的基本组件和容器进行了高级封装(类似于matplotlib和seaborn的关系),省去了许多默认参数配置,只需简单几行代码就可快速开发一个窗口程序,如果你需要快速迭代一个桌面软件,可以使用一下这个模块,非常不错,安装的话,直接在cmd窗口输入命令“pip install easygui”即可:

03kivy

这是一个免费、开源、跨平台的Python应用程序开发框架,只需编写一套代码,即可运行在目前主流的操作平台上,包括Windows,Linux,Mac,Android等,在国外非常受欢迎,一度超过pyqt,对于个人使用来说,非常容易入门,安装的话,直接在cmd窗口输入命令“pip install kivy”即可:

04wxpython

这是一个非常优秀的Python GUI开发库,免费、开源、跨平台,相比较前面轻量级的GUI库,wxpython提供了更为丰富的组件和容器,不管是界面布局还是美化,都有了十足的长进,对于桌面软件开发来说,是一个非常不错的选择,安装的话,直接在cmd窗口输入命令“pip install wxpython”即可:

05pyqt

这是Qt提供给Python的一个接口包,借助于Qt强大的可视化功能,Python也可以直接拖拽控件设计界面,开发软件更为快捷,如果你本身熟悉Qt,那么pyqt就是一个非常不错的选择,安装的话,直接在cmd窗口输入命令“pip install pyqt5”即可:

目前,就分享这5个不错的Python GUI开发库吧,对于日常桌面软件开发来说,完全够用了,当然,你也可以使用C#、Delphi,效果更为不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。