在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
本文将引导您完成将Meteor应用程序部署到运行Ubuntu 14.04的Vultr VPS的过程。它也可以在其他Linux发行版上运行(风险自负)。
一个在流星社区非常活跃的聪明人Arunoda Susiripala开发了一个名为mupx(“ Meteor Up X”的缩写)的部署工具,它使通过ssh将Meteor应用程序部署到远程服务器变得异常容易。Mupx是Mup的继承者。我们将引导您完成从头到尾的整个过程。幸运的是,Mup可以完成大部分繁重的工作,所以这将是一件轻而易举的事!
我们的第一步是安装mupx。您将在开发工作站上而不是 VPS服务器上执行此操作!确保已经安装了Node.js并运行:
$ npm install -g mupx
安装完成后,进入您的Meteor项目文件夹,例如/projects/myApp,然后运行以下命令:
$ mkdir .deploy
$ cd $_
$ mupx init
对于那些不熟悉$_语法的人,它是命令中使用的最后一个参数的快捷方式。因此,在这种情况下,将cd $_执行为cd .deploy。
您将看到以下输出:
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file : settings.json
Empty Project Initialized!
初始化过程将创建两个文件mup.json和settings.json。我们现在将不处理后一个文件。继续开放mup.json。在撰写本文时,默认值mup.json如下所示:
{
// Server authentication info
"servers": [
{
"host": "hostname",
"username": "root",
"password": "password",
// or pem file (ssh based authentication)
// WARNING: Keys protected by a passphrase are not supported
//"pem": "~/.ssh/id_rsa"
// Also, for non-standard ssh port use this
//"sshOptions": { "port" : 49154 },
// server specific environment variables
"env": {}
}
],
// Install MongoDB on the server. Does not destroy the local MongoDB on future setups
"setupMongo": true,
// Application name (no spaces).
"appName": "meteor",
// Location of app (local directory). This can reference '~' as the users home directory.
// i.e., "app": "~/Meteor/my-app",
// This is the same as the line below.
"app": "/path/to/the/app",
// Configure environment
// ROOT_URL must be set to your correct domain (https or http)
"env": {
"PORT": 80,
"ROOT_URL": "http://myapp.com"
},
// Meteor Up checks if the app comes online just after the deployment.
// Before mup checks that, it will wait for the number of seconds configured below.
"deployCheckWaitTime": 15,
// show a progress bar while uploading.
// Make it false when you deploy using a CI box.
"enableUploadProgressBar": true
}
为了使设置过程正常运行,我们需要进行一些更改。
首先,请确保设置host为您的VPS IP地址,例如:
"host": "123.123.123.123",
如果需要使用默认端口号22以外的端口号,则可以使用该sshOptions字段,例如:
"host": "123.123.123.123",
"sshOptions": { "port": 9876 },
将该username值设置为想要拥有Meteor应用程序安装的任何用户。为了安全起见,我建议删除密码行并改用SSH密钥。取消对该行的注释,pem并确保它指向与您的VPS上安装的SSH公钥相对应的SSH私钥(在中/root/.ssh/authorized_keys)。确保在密码行之后添加逗号!如果您的SSH密钥附有密码短语,请pem完全删除该行,并确保SSH私钥已缓存在ssh代理中(例如,在Mac上ssh-add <path to ssh private key>)。
保留setupMongo设置为其默认值。
更改appName为您的Meteor应用程序的名称。在我们的情况下:
"appName": "myApp",
...并相对于此部署文件夹设置应用程序的位置:
"app": "..",
最后,将设置ROOT_URL为应用程序的指定URL。将端口号明确设置为标准HTTP端口。
// Configure environment
"env": {
"ROOT_URL": "http://myapp.com",
"PORT": 80
},
而已!保存mup.json文件,然后运行:
$ mupx setup
此时,mupx将SSH到您的VPS中,安装Docker,设置环境,并提取适当的Docker映像。现在部署您的应用程序:
$ mupx deploy
现在,如果您转到http://123.123.123.123,您的应用将在页面加载时显示。
如果您的VPS具有多个核心,则Meteor应用程序可以利用它。我们只需要进行一些快速调整。
首先,您需要安装集群软件包。进入您的Meteor应用程序的文件夹(在本示例中为/projects/myApp),然后键入:
$ meteor add meteorhacks:cluster
现在,编辑mup.json文件并修改环境变量部分,如下所示:
// Configure environment
"env": {
"ROOT_URL": "http://myapp.com",
"PORT": 80,
"CLUSTER_WORKERS_COUNT": "auto"
},
由于我们已经向您的应用添加了新程序包,因此您必须重新部署。
$ mupx setup && mupx deploy
如果您要更改环境变量mup.json而不必部署整个应用程序,则只需使用reconfigure命令。当没有应用程序更改时,这很有用。
$ mupx reconfig
恭喜,您的Meteor应用现已启动并正在运行!此外,只要重新启动VPS,您的应用程序就会自动启动。请留意未来有关Meteor部署和管理的文章。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息