点赞
评论
收藏
分享
举报
开源软件供应链点亮计划-暑期2021
发表于2021-05-19 17:24

浏览 1.5k


开源软件供应链点亮计划-暑期2021(简称暑期2021)是由中国科学院软件研究所与openEuler社区主办,中科院软件研究所南京软件技术研究院承办,开源社、思否协办,并联合各大开源社区,专门面向高校学生的活动

活动针对重要开源软件的开发与维护提供项目。为了协助各社区拓展所提供的项目,活动会按照社区提供项目的描述安排相应的导师。参与学生们可自由选择项目,与社区导师交流去构建实现方案,并撰写项目计划书。

选中的学生将有机会在社区导师的指导下,按计划完成开发工作,将成果奉献给社区,并根据项目的难易程度和完成情况获得主办方发放的项目奖金(奖金总额分为12000元、9000 元和 6000 元)

NGINX 是参与本次活动的100+社区之一,社区的项目课题是NGINX Unit Web Dashboard在项目进行期间,学生将在导师洪志道的引导下完成一个提供用户操作的Web控制面板。本文有更多的课题信息,欢迎同学们根据文末的报名流程进行报名。


NGINX技术简介

NGINX最初是由俄罗斯人Igor Sysoev 编写,可以用作HTTP及反向代理服务器、邮件代理服务器以及一般的TCP/UDP代理服务器。其第一个公开版本发布于2004104日。

NGINX的高性能、稳定性和扩展性使其受到非常多用户和企业的青睐,另外国内的主要云平台与互联网平台等厂商已经在NGINX开源的基础上研发出很多自己的商业软件和应用服务。

Netcraft的在20214月的最新调查显示,NGINX有支持全球超过4亿个网站的运行。在去年一年中,NGINX的市占率快速增长至35.34%,反超Apache 3.32个百分点,成为了全世界最流行的web服务器(上图)。

不仅如此,在世界上最繁忙的百万个网站中,22.86%的网站正在使用NGINX作为他们的服务器或者代理(下图)。



了解更多:https://news.netcraft.com/archives/2021/04/30/april-2021-web-server-survey.html


NGINX 中文社区

NGINX开源社区正式创建于20206月,由NGINX官方直接支持创建的全球第一个服务普通NGINX用户和开发者的全中文社区。

社区秉持着“开放,包容,沟通,贡献 的宗旨,致力于打造一个包容、活跃的NGINX爱好者之家。通过开发者提供的技术学习资源、互动问答的平台以及业内交流的活动,NGINX开源社区为所有NGINX的用户、开发者和技术爱好者,提供一个自由学习、深度交流、互动讨论、自我成长的平台。

即将迎来一周岁的NGINX中文开源社区,不断致力于为开发者提供更丰富多样的学习资源,同时通过各种渠道联结了数千NGINX及相关的开发者,为开发者创建了优质的交流平台。

在这里,开发者如有疑惑不解,可以随时问询获得帮助;开发者如有心得观点,可以随时发表文章与他人分享;开发者如想深入研究,可以在大咖系列大讲堂遨游汲取精华。


NGINX开源社区项目介绍

本次活动中,NGINX开源社区的项目课题是NGINX Unit Web Dashboard

NGINX UnitNGINX作者Igor Sysoev亲自设计,并由NGINX核心团队开发的动态应用软件。

它是一个多语言应用服务器、反向代理和静态文件服务器,并致力于打造完全可配置,高性能,易用,稳定的现代化软件。它支持完备的HTTP协议,拥有强大的路由,动态多证书,是微服务的绝佳选择。

不仅如此,它可支持运行PHP, Python, Go, JAVA, NodeJS, RubyPerl等多个主流语言,因此可以作为这些语言的独立运行软件,并支持同时运行多个语言和各自的版本。

NGINX Unit支持配置热加载,本身提供了RESTful JSON方式的HTTP API。在项目进行期间,学生将在导师的引导下完成一个提供用户操作的Web控制面板。

功能点:


1. 
监听管理
2. 
路由管理
3. 
应用管理
4. 
上游管理
5. 
证书管理
6. 
通用设置


难度:中
标签:JavaScriptReactVue
领域:Web


产出要求
可用的dashboard
用户根据dashboard能进行nginx unit配置


项目技能要求
熟练js语言
熟练ReactVue框架
UI设计能力加分


本项目的指导老师洪志道拥有多年NGINX研发经验,并是NGINX团队和NJS的核心开发人员。

2009年开始接触NGINX,将NGINX用在CDN工作中。为2017UnitNJS开源贡献代码。2020NGINX团队邀请加入,目前全职参与NGINX Unit的研发。



项目申请及时间表


申请要求:

本次活动面向年满 18 周岁在校学生。暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。海外学生可提供录取通知书/学生卡/在读证明证明学生身份。


申请步骤:

第一步:通过https://portal.summer-ospp.ac.cn/summer/login填写个人资料并注册账号。

第二步:通过https://summer.iscas.ac.cn/#/org/projectlist?lang=chi挑选项目,与导师沟通并准备项目申请材料。

第三步:通过 https://summer.iscas.ac.cn/help/assets/项目申请模板.pdf查看项目申请模版并根据要求准备相关材料。

第四步:通过 https://portal.summer-ospp.ac.cn/summer/login报名系统提交项目申请材料,申请通道将于524日开放


申请建议:


多与导师沟通:对开源项目有一个全面的认识;细化方案,提升可行性;展现良好的沟通能力,有助于提升学中选概率。

每周至少 30 个小时能够投入在项目中。

对活动充分了解,至少要阅读学生指南、热点问题、活动日程等内容。

 仔细查看社区的文档,认真熟悉社区的参与方式、沟通渠道、社区软件设计文档、社区开源仓库代码等。

项目申请书的质量是被选中的主要因素,仔细阅读申请要求,提交申请材料。

有关更多信息,请参阅学生指南:https://summer.iscas.ac.cn/help/student/


重要日期:


5月24日:申请材料提交系统开放


6月30日:项目申请审核结果公示,学生可在官网查看申请结果


7月1日 – 8月15日:进行第一阶段项目研发,提交研发成果共中期考核


8月30日:中期考核结果公示


8月16日 – 9月30日:中期考核通过者进行第二阶段项目研发,提交研发成果供结项考核


10月22日:结项考核结果公示


11月上旬:年度优秀项目公示



已修改于2023-03-09 02:06
本作品系原创
创作不易,留下一份鼓励
NGINX官方账号

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
NGINX官方账号
这家伙很懒还未留下介绍~
228
文章
21
问答
198
粉丝
相关文章
使用nginx转发请求时,应用中获取到的用户ip都是127.0.0.1,获取真实ip必须重写一些头部才行。通常在WSGI环境中经常使用的变量:REMOTE_ADDR,在nginx转发时设置头部携带这个变量nginx设置server{ listen80; server_name_; location/{ .................. proxy_passhttp://127.0.0.1:8000/; #$host变量,Host为变量名 proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; } } 1234567
点赞 3
浏览 1.5k
2018-02-20刚刚更新的nginx-1.13.9已支持HTTP/2的特性ServerPush,这个特性目的是让服务端将部分资源主动推送给浏览器,节约浏览器需要使用这些资源时再次发送Get请求的时间。很长的一段时间内Nginx都是不支持这个特性的,不过在新版本中已经可以使用,详细改动可以查看 http://hg.nginx.org/nginx/rev/641306096f5bNginx中的ServerPush提供两个选项:直接指定需要推送的资源,Nginx会直接推送(只能使用相对链接)。http2_push/css/style.css; 使用 W3C文档 规定的 Link 字段作为HTML响应。Link:;as=style;rel=preload; 然后在配置中开启http2_push_preloadon; 为了方便,我选择第一种方式,直接指定需要推送的资源文件。之后在Chrome的DeveloperTools——Network面板中可以看到我指定推送的资源状态为
点赞 2
浏览 738
用户任务4: 累计获100赞,并在评论区留下您的社区昵称; l LV4用户等级权益: 社区官网个人主页展示精美V4等级勋章1个; 有机会在社区官网首页“社区达人”模块展示您的个人主页; 可在发文
点赞 0
浏览 429