如何在Debian 9 LAMP VPS上安装October 1.0 CMS
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
在本教程中,我们将使用反向代理来设置Web服务器。我们将使用的CMS是Keystone.js,它是基于Express.js的著名Web应用程序框架。我们将使用的反向代理是Nginx,它是一个免费的开源反向代理以及HTTP服务器。我们将使用的数据库是Nogo文档数据库MongoDB。这将要求您拥有一个已设置记录的域。如果您没有此设置,请继续进行处理,然后返回本教程。
首先,我们将安装Node.js,这是基于Chrome V8 Javascript引擎的Javascript解释器。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
接下来,我们将安装我们的反向代理Nginx。
sudo apt update
sudo apt install nginx
这将更新软件包列表,并安装Nginx。安装完成后,我们将设置节点项目。
创建我们的节点项目。为此,只需创建一个新文件夹。
mkdir website
然后,我们将创建package.json
文件。为此,只需npm init
在您的终端中运行,填写字段,然后回复“ yes
”进行确认。创建package.json
文件后,我们将安装以下节点模块。
sudo npm install -g generator-keystone
sudo npm install -g yo
一旦下载完成,请运行以下命令。
yo keystone
填写必填字段。它会问你要project name
的template engine
,email
控制面板,等等。如果您不知道要选择什么,则可以使用默认值。配置完梯形失真校正设置后,我们可以通过键入node keystone
启动应用程序来测试服务器是否正在运行。默认情况下,您的应用程序将localhost
在端口上运行3000
。请注意,如果您尚未安装MongoDB,则数据库将立即不可用。您可以在本教程的后面部分中学习如何安装它。
这是Keystone.js的基本目录布局:
/lib
-在这里您将存储自定义库和其他代码。
/models
-在这里您将存储应用程序的数据库模型。KeystoneJS使用MongoDB作为数据库提供程序。
/public
-这是您的静态文件(CSS,JS,图像等)的存储位置。
/routes/api
-这是应用程序的API控制器的存储位置。
/routes.views
-应用程序视图控制器将存储在此处。
/templates
-这是所有应用程序模板文件的存储位置。
/updates
-这是您的迁移脚本的存储位置。
package.json
-这是生成器为我们生成的您的npm配置文件。
keystone.js
-我们的主要启动文件,我们在启动网站时运行该文件。
如前所述,我们将使用的数据库是MongoDB,它是可靠的NoSQL面向文档的数据库。如果您已经碰巧安装了MongoDB,则可以跳过本节。如果没有,那么这里是在Ubuntu 16.04上安装它的方法。
导入用于mongoDB软件包的公钥。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
创建用于安装软件包的列表文件。
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
使用更新您的包裹清单apt
。
sudo apt update
最后,安装MongoDB。
sudo apt install mongodb-org -y
安装完成后,启动MongoDB。
sudo service mongod start
这将在port上启动MongoDB进程27017
。
MongoDB将在整个应用程序中使用,并将用于存储我们用于模型(例如User
模型)的信息。Keystone将其用作首选数据库,目前您无法使用其他数据库供应商。
现在是时候安装PM2(Process Manager 2)了。PM2是npm模块形式的Node.js应用程序的进程管理器。它为您提供了一种管理应用程序并在后台运行它们的简便方法。由于它在NPM中,因此我们要做的所有安装工作如下。
sudo npm install pm2 -g
这告诉npm全局安装它,因此我们可以在系统中的任何地方使用它。
之前,我们使用来运行Web应用程序node keystone
。使用PM2,情况有所不同。现在,我们使用以下命令运行节点应用程序。
pm2 start keystone.js
这会将我们的PM2应用程序添加到我们的进程列表中,并且将显示一个小框,以便您可以看到它确实在线。请注意id
为您的过程标记的框。保持紧密联系,因为稍后我们将对此进行很多引用。
查看您的应用程序的日志。
pm2 logs [id]
例如,pm2 logs 0
如果这是您的第一个PM2应用程序。
随时停止您的Web应用程序。
pm2 stop [id]
完全删除您的应用程序。
pm2 delete [id]
如果您想查看应用程序的一些基本统计信息,则PM2甚至具有一个监控仪表板,您可以使用它来访问它。
pm2 monit
这将显示一些基本信息,例如RAM使用率,CPU使用率和正常运行时间。
PM2提供的一个很棒的功能是watching
。本质上,监视是指PM2自动检测到与您的起始文件位于同一目录中的任何文件的更改,并且它将自动重新启动您的应用程序���要启用它,只需重新启动您的应用程序,但将监视标志传递给它即可。
pm2 restart [id] --watch
要在启用监视后禁用监视,只需再次运行同一命令,监视将被禁用。
在本教程中,我们将格外注意。
确保已安装Nginx。如果由于某种原因而不是,请参考上面的步骤。
调整防火墙设置。在Ubuntu上,ufw
是官方防火墙。默认情况下,端口上的连接被阻止80
。我们需要在port上为Nginx添加一个例外,该例外80
将在我们的Web应用程序上运行。
sudo ufw allow 'Nginx HTTP'
验证您的Nginx服务器正在运行。
systemctl status nginx
在该Active
部分下,如果看到active (running)
,则一切就绪。如果没有,您可以尝试重新启动服务。
systemctl restart nginx
删除默认的Nginx配置文件。
sudo rm /etc/nginx/sites-available/default
创建一个新的,只需调用它node
。
sudo nano /etc/nginx/sites-available/node
将以下内容粘贴到文件中,并替换example.com
为您的网站域。
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass "http://127.0.0.1:3000";
}
}
请注意,proxy_pass
表示我们Keystone应用在本地运行的IP ,该IP localhost
在port上运行3000
。 listen 80
是我们要将应用程序定向到的端口,在本例中为port 80
。
然后,我们需要创建一个符号链接,或指向名为的文件夹的符号链接sites-enabled
。sites-enabled
和之间的区别sites-available
是sites-enabled
Nginx实际加载了。
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
现在,您的配置文件sites-available
已准备就绪,可以从中加载sites-enabled
。要应用配置使其生效,只需重新启动Nginx。
sudo systemctl restart nginx
最后,重新启动您的PM2应用程序
pm2 restart [id]
现在,您可以在浏览器中导航到您的域,您将看到一个Welcome to Keystone
屏幕,其中包含用于登录的面板。
如果看到它,则说明您已经成功设置了Node.js生产Web服务器。如果不是,则您可能未正确执行步骤,因此您可能需要返回并仔细执行每个步骤。
您可以通过访问Nginx 网站了解更多信息。
我希望您喜欢本教程,并希望它可以帮助您在Vultr VPS上设置自己的Web服务器以进行生产。
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?WonderCMS是用PHP编写的开源,快速,小型平面文件CMS。WonderCMS源代码托管在Github上。本指南将
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
使用其他系统?Bludit是一个用PHP编写的简单,快速且灵活的博客CMS。Bludit使用JSON格式的文件来存储内容,因此您不必
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
使用其他系统?Couch CMS是一个简单,灵活,免费和开源的内容管理系统(CMS),可让Web设计人员进行设计
使用其他系统?ProcessWire CMS 3.0是一个简单,灵活,功能强大,免费和开源的内容管理系统(CMS)。ProcessWire CMS 3。
使用其他系统?PyroCMS是用PHP编写的开源CMS。PyroCMS源代码托管在GitHub上。在本指南中,请仔细阅读整个条目
使用其他系统?BlogoText CMS是一个简单,轻便,免费和开源的内容管理系统(CMS)和极简博客引擎
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?Redaxscript 3.2 CMS是一款现代,超轻量级,免费和开源的内容管理系统(CMS),具有火箭fas
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?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 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。