在Ubuntu 14.04上设置Vibe.d

Vibe.d是用D编写的Web框架,供D程序员开发Web和网络应用程序。Vibe.d闻名的一件事是开发和部署服务器的能力。在本文中,我们将向您展示如何在Ubuntu 14.04 x64上设置Vibe.d。这也应该可以在Ubuntu 12.04和14.10上运行,但是结果可能会有所不同。

要求

  • 装有Ubuntu 14.04 x64的Vultr VPS。
  • D的基础知识
  • 已安装DMD,LDC或GDC(建议使用DMD)。
  • 有无DUB安装。

安装库

在开始之前,您将需要安装一些依赖项,以便您的项目可以构建:

apt-get install libssl-dev libevent-dev

建立专案

使用dub,通过在目录中运行以下命令来创建项目:

dub init server vibe.d

这将使用内置于中的Vibe.d模板创建一个新项目dub

更新资料 dub.json

package.jsonNPM(Node.js)一样,dub.json存储有关将用于构建或部署的应用程序的信息。在dub.json文件中,您可能会看到类似以下内容的内容:

{
        "name": "server",
        "description": "A simple vibe.d server application.",
        "copyright": "Copyright © 2014, root",
        "authors": ["root"],
        "dependencies": {
                "vibe-d": "~>0.7.19"
        },
        "versions": ["VibeDefaultMain"]
}

如果需要,可以更改名称,描述,版权,作者等。现在,我们将重点关注本dependencies节中的数据。将当前版本从更改0.7.190.7.21。这将确保您使用的是最新版本的Vibe.d。更改版本并保存文件后,即可继续进行下一步。

更新源/ app.d

source/app.d文件中,您应该看到一行显示:

settings.bindAddresses = ["::1", "127.0.0.1"];

这将设置服务器将监听的地址。在这种情况下,将使用环回地址::1(IPv6)和127.0.0.1(IPv4)。您在这里有一些选择。您可以将地址更改为Vultr VPS上可用的公共IP,也可以注释掉该行以侦听任何可用地址。这纯粹是你的选择,但现在改变127.0.0.10.0.0.0防止任何混淆。这将使您的应用程序侦听分配给服务器的任何IP。

建立项目

运行以下命令来构建您的应用程序:

dub build

这将经历获取依赖项,构建依赖关系,然后构建应用程序的过程。完成后(假设没有错误),您应该server在目录的根目录中有一个名为的文件。通过运行来运行它,./server它将显示以下内容:

Listening for HTTP requests on ::1:8080
Listening for HTTP requests on 0.0.0.0:8080
Please open http://127.0.0.1:8080/ in your browser.

如果没有看到失败消息,请继续使用Web浏览器并输入IP地址和端口。例如:http://0.0.0.0:8080随着相应地0.0.0.0更改。

如果Hello, World!在浏览器中看到,则说明您已在服务器上成功设置了Vibe.d。

了解Vibe.d

服务器开发

Vibe.d走了很长一段路,为开发人员提供了开发基于服务器的应用程序的方法。这包括Vibe.d本地支持的Web服务器应用程序。

饮食模板

在进行Web开发时,饮食模板完全基于Jade,但饮食模板可直接编译到您的应用程序中。这在项目内部使用了D(很像在Jade中使用嵌入式Javascript的方式)。使用Diet模板可以增加应用程序在Web浏览器上显示的内容的灵活性。

性能

在性能方面,Vibe.d已显示出可以扩展到很高的水平。借助其异步I / O,它创建的内存开销比用Node.js,Java和Python制作的应用程序通常所能找到的要低得多。只需要一个硬件线程即可处理并发操作数。



Leave a Comment

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

如何在CentOS 7上安装SonarQube

如何在CentOS 7上安装SonarQube

使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供

2019年Node.js快速指南

2019年Node.js快速指南

简介什么是Node.js?Node.js既是开源的又是免费的,并且用于多种目的。仅举几例,Node.js对于

如何在Ubuntu 16.04 LTS上使用MongoDB和Apache设置Meteor.js Web应用程序

如何在Ubuntu 16.04 LTS上使用MongoDB和Apache设置Meteor.js Web应用程序

Meteor.js是一个考虑到Node.js编写的开源JavaScript框架。它之所以受欢迎,是因为它的观点是在纯净环境中构建Web应用程序。

如何设置Gunicorn以服务Python Web应用程序

如何设置Gunicorn以服务Python Web应用程序

在本文中,我们将设置一个VPS以使用Gunicorn和Nginx作为反向代理来服务Python Web应用程序。我们将Nginx用作反向代理

如何在Ubuntu 17.04上使用Rbenv,Rails,MariaDB,Nginx,SSL和Passenger安装和配置Ruby

如何在Ubuntu 17.04上使用Rbenv,Rails,MariaDB,Nginx,SSL和Passenger安装和配置Ruby

Ruby on Rails是用于Ruby的流行Web框架,其开发目的是提高程序员的生产力。但是,获得各种宝石和依赖关系

在Debian上升级Python

在Debian上升级Python

您可能知道,Debian存储库更新非常缓慢。在撰写本文时,Python发行版分别为2.7.12和3.5.2,但在Debian 8存储库中

2019年PHP快速指南

2019年PHP快速指南

简介什么是PHP?PHP(超文本预处理器)是一种通用的脚本语言,使用户能够创建大量应用程序

使用Vultr Go客户端创建Vultr对象存储

使用Vultr Go客户端创建Vultr对象存储

简介本指南介绍了如何使用Vultr Go客户端在Go应用程序中创建Vultr对象存储。Vultr对象存储兼容机智

如何在Debian 9上安装GitLab社区版(CE)11.x

如何在Debian 9上安装GitLab社区版(CE)11.x

使用其他系统?自从GitHub被Microsoft收购以来,许多开发人员已计划从github.co迁移自己的代码存储库。

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

如何在CentOS 8,Ubuntu 18.04,Debian 10和Fedora 31上安装Golang 1.13

Go(也称为Golang)是Google开发的一种静态类型的,类似于C的编程语言。追求简单性和多功能性使其成为b

如何在Debian 9上安装GruntJS

如何在Debian 9上安装GruntJS

GruntJS是在NodeJS之上编写的JavaScript任务运行程序。它可以用于为您的应用程序自动执行重复任务,如缩小,编译

如何在CentOS 6上安装GCC

如何在CentOS 6上安装GCC

CentOS遵循Red Hat Enterprise Linux(RHEL)的开发。RHEL努力成为一个稳定的服务器平台,这意味着它不会急于包容

在Ubuntu 14上安装Adonis.js

在Ubuntu 14上安装Adonis.js

简介Adonis.js是一个用于NodeJ的MVC框架,使您可以用更少的代码编写Web应用程序。它借鉴了其他可靠框架的概念

如何在Ubuntu 16.04 LTS上设置Koa.js节点应用程序

如何在Ubuntu 16.04 LTS上设置Koa.js节点应用程序

在本教程中,我们将学习如何使用Node.js设置Koa.js Web应用程序进行生产。我们还将链接一个示例域,

如何在CentOS 7上安装Django

如何在CentOS 7上安装Django

Django是用于编写Web应用程序的流行Python框架。使用Django,您可以更快地构建应用程序,而无需花费很多精力。如果你想

在Ubuntu 14.04上设置MEAN应用程序

在Ubuntu 14.04上设置MEAN应用程序

MEAN是MongoDB,Express,AngularJS和Node的缩写,是一个全栈JavaScript框架,它通过givin简化并加快了应用程序的开发

在Ubuntu 16.04上设置Codeigniter应用程序

在Ubuntu 16.04上设置Codeigniter应用程序

简介Codeigniter是一个功能非常强大的PHP框架,占地面积很小。本指南假定您至少有一个正常工作的LAMP堆栈和root访问权限

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息