AI 能否應對越來越多的勒索軟件攻擊?
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
Meteor.js是一个考虑到Node.js编写的开源JavaScript框架。它之所以受欢迎是因为它以纯JavaScript构建Web应用程序的观点。Meteor集成了可在Web浏览器中运行的前端JavaScript支持以及将在主机服务器上运行的后端JavaScript。它与React,Angular.js等前端JavaScript框架以及流行的NoSQL数据库MongoDB很好地集成在一起。选择Meteor.js的几个重要原因如下:
Meteor.js是一个完整的堆栈框架。因此,有了它,您将获得所需的一切:数据库,前端,后端。流星将所有内容捆绑在一起做得非常出色。
速度。流星的直观打包系统为您提供了许多可能需要完善工具的工具。
它得到了Meteor开发人员小组以及使用它的其他开发人员的良好支持。您将很容易找出可能遇到的任何问题并迅速解决。
在本教程中,我们将在Ubuntu 16.04上实现以下目标:
安装Node.js
,我们的Javascript运行时。
安装Meteor.js
。
安装MongoDB
,选择Meteor的数据库。
安装Apache
,选择我们的反向代理,并设置我们的域(如果适用)。
测试我们的网站。
设置我们的网站进行生产。
首先,您需要安装Node.js(它是我们的JavaScript解释器)和Meteor的核心。这将使我们能够运行Meteor以及将来可能拥有的其他Node.js应用程序。在这种情况下,我们将安装Node.js8。要开始下载,只需在终端中运行以下命令。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
等待下载和安装完成。
接下来,我们将安装数据库:MongoDB。MongoDB是一个免费的开源NoSQL文档数据库,也是Meteor的首选数据库。与传统的SQL数据库中的结构化表相反,它对文档使用类似于JSON的格式。
导入APT
(高级打包终端)使用的MongoDB公钥。这使APT可以验证包裹;在这种情况下,是MongoDB。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
为Ubuntu 16.04创建必要的列表文件。
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
开始安装MongoDB,然后等待安装完成。
sudo apt update && sudo apt install mongodb-org -y
打开系统服务进行编辑。
sudo nano /etc/systemd/system/mongodb.service
复制并粘贴以下内容以完成systemd服务。
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
使用“ Control-O
”保存,然后使用“ Control-X
”退出。
通过输入sudo systemctl start mongodb
终端来运行MongoDB systemd服务。
要验证它是否已成功启动,请键入以下内容。
sudo systemctl status mongodb
您将看到该服务处于活动状态。
接下来,我们将安装Apache。Apache是一个免费的开放源代码Web服务器软件,它还可以充当反向代理,这是我们在本教程中将要使用的软件。需要反向代理将我们的Meteor.js应用程序绑定到port 80
。Node.js阻止应用程序在没有root用户访问权限的情况下在该端口上运行。Apache会root
自动运行以及绑定到port 80
,因此在运行我们的网站时,我们不必担心。
安装Apache。
sudo apt update && sudo apt install apache2
为了允许访问外部Web端口(例如)port 80
,我们需要为Apache配置防火墙。我们通过UFW
(不复杂的防火墙)进行此操作。
sudo ufw allow 'Apache Full'
这将允许访问“ Apache Full
”个人资料。这使我们进入的流量port 80
,这就是我们的应用程序将要运行的流量。
现在,我们将安装我们的Web框架:Meteor.js。我们将使用流星团队提供的简单bash脚本进行安装。
curl https://install.meteor.com/ | sh
等待安装完成。基本上,脚本的作用是从官方网站下载Meteor,并在全球进行安装,因此我们可以在任何地方使用它。完成后,我们可以创建应用程序目录。流星有一个方便的小工具供我们使用,称为meteor create
。要创建您的应用程序目录,请键入以下内容。
meteor create <projectname>
将使用指定的名称(<projectname>
)创建该文件夹。
现在我们已经设置了应用程序目录,我们可以继续设置反向代理了。Apache使用名为的模块mod_proxy
,该模块实现了Apache的代理。
sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y
这将安装该模块并使它可供Apache使用。
接下来,我们将需要启用Apache运行所需的所有必要模块。我们将使用a2enmod
,该工具可为Apache启用模块。这些模块将使我们能够利用反向代理。只需将这些命令键入您的终端即可。
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
之后,我们将需要禁用默认的Apache站点以使其无法启动,因此我们可以启动自己的站点。否则,默认的Apache应用程序将覆盖我们的应用程序。要禁用默认站点,只需运行以下命令。
sudo a2dissite 000-default
现在,我们将创建虚拟主机文件。为此,只需打开一个文本编辑器。
sudo nano /etc/apache2/sites-available/<projectname>
复制并粘贴以下内容。
<VirtualHost *:80>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
# Servers to proxy the connection, or
# List of application servers Usage
ProxyPass / http://0.0.0.0:3000/
ServerName localhost
</VirtualHost>
VirtualHost *:80
:告诉Apache连接到端口80,这是我们的Web应用程序所需的端口。
ProxyPass
:要转发到反向代理的站点的IP地址。这很可能是您的VPS的IP
ServerName
:您的服务器名称(默认名称通常为localhost
)。
完成必要的设置后,请使用“ Control-O
”保存并使用“ ” Control-X
退出。
要测试并确保网站正在运行,请在项目目录中键入以下内容。
meteor
您将看到以下输出,表明您的网站已成功启动。
=> App running at: http://localhost:3000/
请注意,流星默认情况下会监听port 3000
。
为了确保我们的应用程序能够保持运行,我们将使用systemd服务。与我们之前对MongoDB进行的操作类似,该系统服务将确保我们的网站在系统启动时就可以启动并保持运行。如果由于任何原因崩溃,它也会重新启动我们的应用程序。要设置我们的systemd服务,请在终端中键入以下内容。
sudo nano /etc/systemd/system/<projectname>.service
这是您想要文件的外观。
[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
注意:不要忘记projectname
用项目名称和yourusername
VPS用户名替换。
以下是一些要牢记的重点。
WorkingDirectory
:您的应用程序的目录。
Restart
:无论出于什么原因,是否重新启动它的应用程序都会停止。
User
: 您的用户名。
Environment=PWD
:与相同WorkingDirectory
。
Environment=PORT
:您的应用程序运行所在的端口。默认值为3000
。
保存并关闭文件。
现在,我们将启用并启动该服务。
sudo systemctl enable <projectname>.service
<projectname>
我们创建的服务文件的名称在哪里。
然后,我们将启动服务。
sudo systemctl start <projectname>.service
您的应用程序将启动。要验证它是否已启动,只需运行以下命令。
sudo systemctl status <projectname>
您将看到它处于活动状态,并验证服务已成功启动。
接下来,我们将检查我们的网站。在您选择的Web浏览器中,导航到您的IP地址。
http://your-server-ip/
您将看到“流星”示例屏幕,确认您已正确完成所有操作。
现在我们已经启动了应用程序,我们将需要对其进行管理。
sudo systemctl restart <projectname>
sudo systemctl stop <projectname>
sudo systemctl status <projectname>
journalctl -u <projectname>
现在,您已经成功配置了MongoDB,Apache和Meteor,并创建了一个Meteor.js Web服务器进行生产。现在剩下的工作就由您决定,可以在前端和后端设计您的网站。您可以访问MongoDB来存储您可能需要的任何数据,还可以使用Node.js,它可以通过Node Package Manager(NPM
)提供各种模块,以进一步增强您的后端。有关更多文档,请随时访问Meteor网站,您可以在此进一步学习如何根据自己的喜好自定义网站。另外,在处理数据库操作时,您可以参考MongoDB文档。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?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 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。