AI 能否應對越來越多的勒索軟件攻擊?
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
Hapi.js是一个丰富,强大且功能强大的Node.js框架,旨在在Node.js生态系统中构建Web应用程序。其直接的设计使其易于上手。Hapi的核心使用了许多最新的JavaScript ES6功能,例如ES6 Promise。对于以前使用过Express的用户,Hapi允许您尝试一些新东西,并体验所有最新的JavaScript功能。
在本教程中,我们的目标是在Ubuntu 16.04 LTS上建立一个基本的Hapi.js网页,该网页由我们的Vultr VPS托管。对于那些为其网站拥有域名的用户,我们将使用反向代理将我们的域名链接到我们的网站。最后,我们将学习如何使用流程管理器进行管理。现在我们已经解决了这个问题,让我们开始吧。
我们将需要安装Node.js。为此,请在Ubuntu 16.04 LTS上执行以下操作。
我们将需要添加NodeSource APT存储库,其中包含Node.js的最新LTS版本。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
我们正在下载一个脚本,该脚本将用于将存储库添加到源列表中,以及从NodeSource存储库安装Node.js。
除了安装Node.js本身之外,我们还需要安装一些必要的构建工具,这些工具将有助于构建我们可能需要安装的任何模块。
sudo apt-get install -y build-essential
这只是从存储库下载并安装构建工具。
优良作法是指定一个我们将用于我们应用程序的文件夹,其中将包含我们所有应用程序的数据,例如配置文件和启动脚本。创建一个文件夹,将其命名为任意名称。为了本教程的缘故,我假设您将其命名为site
。
mkdir site
制作完文件夹后,现在我们可以更改它了。确保您在刚刚创建的目录中,启动NPM软件包向导。
npm init
它将要求您输入一些不同的内容,例如您的应用程序名称,起始文件,许可证等。除了更明显的字段(例如,应用程序的名称)外,大多数字段都可以保留默认值。最后,它将如下所示:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
对结果感到满意后,单击ENTER以保存文件。
现在您的目录已成功构建,我们现在可以继续安装Hapi.js。如前所述,我们将利用NPM为我们的项目下载Hapi.js及其依赖项。在项目目录中,运行以下命令。
npm install hapi.js
这将从NPM下载Hapi.js并将其安装在我们的项目目录中。在同一运行中,为方便起见,还下载了Hapi.js可能依赖的任何依赖项。
现在是时候设置基本的Hapi.js应用程序文件了。这将包含我们针对该应用程序的所有代码。再往前走,我们可以扩展应用程序代码,并在需要时添加更多内容。
接下来,我们将创建我们的起始文件。返回文件main
部分package.json
,以准确确定如何命名文件。由于我使用默认的命名方案,因此我们的文件将称为index.js
。
nano index.js
进入nano文本编辑器后,像这样创建基本的应用程序代码。
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
首先,我们导入Hapi模块。然后,我们初始化服务器构造函数,该构造函数包含要在其上运行服务器的主机以及端口,该端口3000
用于本教程。接下来,我们设置一个基本路由器,该路由器指示每当有人访问该站点时,他们都会收到一条简单的消息。最重要的是,我们具有一个异步功能来启动服务器,该功能将登录到服务器正在运行的控制台。完成后,保存并关闭文件(CTRL+ X)
现在我们的主文件已经设置好,我们准备启动我们的应用程序。
node index.js
如果您Our server is running!
在控制台中看到“ ”,则服务器已成功启动。
由于Nginx在默认的Ubuntu存储库中可用,因此安装非常简单。只需更新您的软件包列表,然后安装它。
sudo apt update
sudo apt install nginx -y
刷新软件包列表后,将安装Nginx及其依赖项。
为了使Nginx反向代理我们的应用程序,我们需要创建一个配置文件。此配置文件将保存有关我们的应用程序的信息,Nginx将其用于反向代理。
删除Nginx创建的默认配置,因为稍后将用我们自己的默认配置替换它。
sudo rm /etc/nginx/sites-enabled/default
在sites-available
文件夹中创建一个新文件。至于命名site
,为了简单起见,我们可以坚持使用简单。
sudo nano /etc/nginx/sites-available/site
在文件中,粘贴以下内容并保存。
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
在此文件中,我们告诉Nginx监听port 80
。我们还将代理服务器直通设置为localhost
地址和端口3000
,这与我们的Hapi应用程序相同。
现在,您可以导航回到您的应用程序目录,并启动该站点。网站启动后,只需导航至http://yourdomain.com
或http://yourip
,您将看到文本“ Hello World
”。
可以在NPM存储库中找到PM2,并且可以将其全局安装,以便可以从任何地方访问。
sudo npm install pm2 -g
-g
末尾的标志表示我们要将模块安装到全局模块文件夹,这将使我们可以在项目目录之外使用它。这是为了使我们的项目像普通的系统应用程序一样工作。
安装PM2后,导航回到您的项目目录。现在,启动我们的应用程序的语法会稍有不同。这就是我们将如何使���PM2做到这一点。
pm2 start index.js --name site
我们利用PM2启动功能,该功能基本上是为应用程序创建一个名为的配置文件site
。运行该命令后,您的网站将启动,但是您会注意到日志不会显示。这是因为我们现在查看日志的方式不同。
pm2 logs site
您甚至可以使用参数指定要查看的日志行数--lines
。
您已经成功设置了Hapi.js Web服务器,使用Nginx对其进行了反向代理,并了解了如何使用PM2更好地对其进行管理。有了这些知识,您就可以进一步扩展本教程并制作一个非常高级的Hapi.js应用程序。要了解有关Hapi可能性的更多信息,请访问其官方文档。如果您想了解有关PM2可能性的更多信息,请参阅其快速入门指南。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。