在Sakura VPS(CentOS 6.7)上部署LoopBack应用程序
直到理解了框架的意图之前,我有点困惑。
基于上次创建的书籍应用程序进行应用程序发布。
另外,有关Loopback的概述在这里。
随着Parse服务的结束,选择开源BaaS是明智之举!寻找的正是LoopBack…!
在本地和服务器上使用的工具有哪些不同?
LoopBack使用StrongLoop Process Manager(PM)工具进行应用程序的发布。这里没有开发用命令。然而,前次在本地(Mac)构建的环境中包含了开发工具。不需要在服务器上安装这些工具。
前一篇文章
尝试轻轻地使用LoopBack(从环境设置到API)+ Unity的额外福利
StrongLoop进程管理器(PM)是什么?
在服务器上创建一个LoopBack工作用户,用于执行服务器所需的各种功能的工具。
– 作为slc deploy和slc ctl的接口。
– 确保服务不会停止。
– 管理多个应用。
参考:StrongLoop进程管理器
发布应用程序的简单流程
1. 在本地建立开发环境(已完成)
2. 在服务器上安装PM
3. 在本地创建应用程序
4. 在本地进行配置以将应用程序部署到服务器
5. 在本地进行构建
6. 在本地将应用程序部署到服务器上
为了让他们看到并理解,服务器端只需完成环境搭建
做得非常好
只要理解这个区分,就不会迷失方向了。
那么就开始进行服务器环境的搭建。
从现在开始,进行各种环境建设。
由于以下内容较长,并且需要逐项翻译成中文,请您阅读。以下是原文和对应的中文翻译:
ここにまとめておくので適宜読み替えてほしい。
因为以下内容较长,请您阅读。请根据需要适当进行修改。
ホスト名:111.222.333.444
主机名:111.222.333.444
アプリが使用するポート:3030
应用程序的使用端口:3030
Strong PMユーザ名:myuser
Strong PM用户名:myuser
Strong PMパスワード:password
Strong PM密码:password
Strong PMの(デプロイ等で使用する)ポート:7070
Strong PM的(用于部署等的)端口:7070
アプリ名:sampleapp
应用程序名称:sampleapp
アクセスURL:/api/books
访问URL:/api/books
※使用するポートはiptablesで許可設定をする
※请使用iptables进行端口允许设置
樱花VPS的设定
假设这些设置已经顺利完成。
安装npm
根据官方网站的指示进行了操作。
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
结束后,请确认以下内容
node -v
StrongLoop进程管理器(PM)环境的建立
参考:官方网站说明
※由于在最新版本5.2系列中无法正常运行,因此请指定5.1.0版本。
sudo npm install -g strong-pm@5.1.0
在服务器上创建处理PM的用户,
将PM的用户名、密码和端口作为参数指定。
sudo sl-pm-install --upstart=0.6 --http-auth myuser:password -p 7070
sudo /sbin/initctl start strong-pm
sudo /sbin/initctl status strong-pm
※ –upstart=0.6 对于 CentOS6 等操作系统是必需的选项。
只要服务器正在运行,就会在7070端口保持监听状态。
搭建要使用的数据库(MongoDB)。
前次在本地搭建了MongoDB,
由于服务器端也需要,所以要安装MongoDB。
从Mongo官方安装。
创建配置文件
sudo touch /etc/yum.repos.d/mongodb-org-3.2.repo
sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo
将以下内容写入文件
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
使用配置文件进行安装和服务启动。
sudo yum install -y mongodb-org
sudo service mongod start
LoopBack应用程序的配置
通过使用 slc ctl 命令,可以通过 PM 在服务器端进行应用程序设置。
创建应用程序名称
slc ctl -C http://myuser:password@111.222.333.444:7070 create sampleapp
设定为生产环境使用
通过这个设置,可以使用config.production.json、datasources.production.json等用于生产环境的文件。
slc ctl -C http://myuser:password@111.222.333.444:7070 env-set sampleapp NODE_ENV=production
设置应用程序使用的端口。
设置应用程序使用的端口
slc ctl -C http://myuser:password@111.222.333.444:7070 env-set sampleapp PORT=3030
确认应用程序设置
slc ctl -C http://myuser:password@111.222.333.444:7070
应用程序的构建
如果使用Git进行管理,将自动创建部署分支。
slc build
应用程序部署
slc deploy -s sampleapp http://myuser:password@111.222.333.444:7070 deploy
上传目标路径将显示在日志中,但不需要特别关注。 如果遇到问题,只需通过本地使用slc ctl命令执行操作(如重新启动或停止)。
使用应用程序进行访问
确认通讯是否畅通(是否能收到200的返回?)
http://111.222.333.444:3030/api/books
生产设定
如果将production设置为API Explorer,则会关闭。
如果想要将开发和正式环境分开的话
在应用程序的设置中创建一个开发版本的设置。
虽然它会变成独立的设置,但是通过设置NODE_ENV=development并定义config.development.json,它会被加载(应该会被加载,但我还没有去做)。
多个应用的管理
在应用程序设置中创建另一个应用程序,与将其分为生产和开发几乎没有太大区别。
这个日志怎么办?
在/var/log/messages中记录下来
概括一下
我随便写了一点,但是在关键的地方遇到了困难。我会在以后再次阅读并添加可以追加的内容。