Tag: 部署

当我启动一个基于node.js的网站时,有没有一个清单?

我正在用node.js完成我的第一个站点,我很好奇,是否有一个我应该完成的所有事情的检查清单,我得到它之前。 在开发中,当我的数据库调用不需要某些值时(使用Mongoose),我的站点就会死亡(例如节点段错误)。 我也将在我的VPS上使用这个已经安装了Apache的VPS,那么我将能够运行这两个还是我需要看看别的东西呢? 基本上一旦启动,我想继续保持,我想在这之前知道我应该知道的任何标准预防措施。 谢谢!

在节点项目源代码控制中如何存储npm模块

好吧,我有一个奇怪的情况。 我有一个节点应用程序将被传递到无法访问互联网的系统。 我有我的所有代码在我的package.json文件中,但是当我提供服务器时,我无法运行npm install。 目前,node_modules目录正在被检入到SVN中。 到目前为止,我讨厌这个,因为每次我需要获得一个新版本的模块,我已经从SVN删除整个模块,安装较新的版本,将其添加到SVN和签入。 其他选项我有关于具有某种构buildnpm安装时,打包节点应用程序交付。 也许从SVN中检查出来,npm安装并创build必要的tarball或rpm。 过去我曾经使用过“捆绑器”作为ruby,这是相当不错的,因为你只需要把所有的代码都放在另一个目录中,这样就可以在这些代码中取得成功。 如果您处于离线状态,则效果很好 任何像这样的节点?

在AppFog上,如何查看terminal上的控制台日志(node.js)

我希望能够从AppFog上的我的node.js App中看到terminal中的控制台日志。 没有它就很难进行debugging。 我在文档中看到了一些叫做隧道的东西,这是我要找的东西吗? 如果是的话,你能解释我该怎么做吗? 下面的截图是从我的本地机器:我怎么能看到我的AppFog实例类似的输出? 编辑: @Vadim在他的回答中提到命令 af logs <your_app_name> 它似乎按预期工作,但几秒钟后停止logging, 如何告诉它继续观看?

在部署之前或之后构buildWeb应用程序?

上下文 Web应用程序项目具有/build (或/dist )文件夹,其中包含在构build期间(通过Gulp )生成的前端文件。 该文件夹不在源代码pipe理下(例如,请参阅: React.js入门工具包 ) 服务器端代码不需要绑定或编译步骤,因此项目中的/src文件夹可以按原样部署(这些源文件用于运行Node.js或ASP.NET vNext服务器) Web应用程序通过Git进行部署(请参阅Heroku或Windows Azure中的基于Git的部署选项) 问题 在部署之前或之后构build(捆绑和缩小)前端文件是否更好? 如果之前,您最终可能会拥有一个独立的存储库(或分支),源代码pipe理下的/build文件夹与其余的项目文件一起。 此回购仅用于部署目的。 如果在此之后,部署时间可能会增加 – 下载构build过程中使用的附加npm模块所需的时间,则在构build过程中服务器的CPU可能高达100%,这可能会损害Web应用程序的响应能力。 运行KuduSync命令之前或之后在远程服务器上构build前端文件是否更好? 如果使用Kudu将Web应用程序部署到Windows Azure,那么部署脚本是否应该只将/build文件夹(带有.js,.html,.css等公共前端文件)的内容复制到/wwwroot ? 而不是复制所有的项目文件(服务器端源代码和前端包),这是默认的。 默认情况下,Azure的部署脚本将D:\home\site\repository文件夹中的所有项目文件复制到D:\home\site\wwwroot文件夹,然后从那里启动Node.js应用程序。 这是一个必要的步骤吗? 为什么不从D:\home\site\repository文件夹启动Node.js(或ASP.NET vNext)应用程序? 如果它确实应该被复制到一个单独的文件夹,为什么源文件被放置在wwwroot ,也许最好将它们复制到另一个文件夹, wwwroot外?

如何让我的Node / Socket.io聊天在域上进行通信?

我已经成功地编写了一个非常简单的实时聊天节点JS和Socket.io。 它也使用Express,Jade和Stylus – 我想进一步发展。 目前的代码在这里(这是本地工作): https : //github.com/littlejim84/basic_node_socket 这一切都运行良好,按预期在本地机器上运行。 运行Node应用程序并转到http:// localhost:9000 /使事情按预期工作。 但是,当我把它放在我的远程服务器,套接字没有连接。 我已经设置Ngnix来服务我的Node应用程序,如下所示: upstream basic_node_socket { server 127.0.0.1:9000; } server { listen 80; server_name example.com; location /basic_node_socket { root /var/www/example.com/basic_node_socket; 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://basic_node_socket/; proxy_redirect off; } } 有了这个,我可以去url,它会服务器上的Node应用程序,如预期的,但套接字只是不会连接。 我假设这是因为现在在客户端,我正在听9000端口,这可能已经没有关系了,现在它被这样的服务? 在我的客户端脚本中,我有这个(本地工作): socket = new […]

Heroku上的Node.js:在开发中使用中间件,但在生产上使用静态资源?

一些中间语言如Stylus提供了两种编译方式:通过connect中间件或通过CLI工具。 后者可以生成静态编译资产(即.css文件)。 所以我想在开发模式上使用中间件,而在生产上使用静态资产。 我知道我可以使用app.configure('developmen'…)来请求express (不)在开发模式中使用一些中间件。 在像Amazon EC2这样的IaaS环境中,我可以运行一个简单的shell脚本来自动重新编译我的所有资产。 但是PaaS,特别是Heroku呢? 我怎样才能告诉我.styl和.css应该在哪里生成?

webRTC应用需要多less托pipeRAM?

我将主持一个webrtc应用程序。 所有服务器需要做的只是传递消息,如房间号码,候选人,断开连接等,只是传递信息的所有消息。 我正在使用socket.io和node.js。 服务器几乎只是传递文字。 没有login,没有数据库,这一切都在记忆中。 它跟踪在线用户列表(只有多less个在线)以及所用房间列表。 所以列出了几个数字,并在用户之间传递文本,以便他们可以通过webrtc进行连接。 现在,很显然,如果我收到大量的stream量,列表可能会变得很大,例如每个列表中可能有10k-20k的5位数字(只有一些大的列表)。 和所有的传递,如断开连接。 我需要一个服务器,可以做这个东西快,最好是一个免费的服务器。 我的意思是,这只是文字,所以这不应该是一个大问题,对吧? 但我的应用程序是围绕一个人连接到下一个连接的人。 所以,如果大部分人都在同一时间连接,那么我需要一个快速的托pipe服务器,可以处理到毫秒…这将是一个问题吗? 我应该在服务器中寻找什么,如果我只是使用内存的数字列表(无数据库),并传递文本的东西。

为什么.tar文件会生成数百个PaxHeader文件?

我正在设置一个AutoCI – > Jenkins – > Octopus自动构build过程。 我使用一个名为octopackjs&gulp-octo的包将我的node.js项目打包成.tar文件,如下所示: return gulp.src(['**/*', '!gulpfile.js']) .pipe(octo.pack("tar.gz")) .pipe(octo.push({apiKey: 'API-SUPERCOOLKEY', host: 'https://octopus.supercooldomain.net', replace: true})); 我可以把它打包起来,然后把它推到八达通服务器的正确位置。 但是,当我检查.tar文件的内容时,它被数百个名为“PaxHeader”的文件所污染。 从一些环顾四周,该文件旨在包含.tar包的元数据。 当八达通尝试将该文件提取到我的目标环境时,它会引发以下错误跟踪: System.IO.IOException: Cannot create /home/opsteam/.octopus/Applications/OctopusServer/Dev.Corporate/webapp/2.0.10/PaxHeader because a file with the same name already exists. 09:46:34Error at System.IO.Directory.CreateDirectory (System.String path) <0x7fdc9e79db50 + 0x00167> in <filename unknown>:0 09:46:34Error at SharpCompress.Reader.IReaderExtensions.WriteEntryToDirectory (IReader reader, System.String destinationDirectory, ExtractOptions options) […]

如果将节点应用程序埋在回购目录中,如何将节点应用程序部署到azure色

我正尝试通过“remote git repo”方法将项目部署到Azure。 但是在我的回购中,实际的节点应用程序只有几个目录。因此,当推送回购时,Azure不会执行任何操作。 有没有一些方法来configurationazure网站从埋在回购目录中运行?

Node.js部署堆栈

什么是最好的node.js部署堆栈? 我将使用Nginx通过神奇的node.js通过在用户家中安装的unix域套接字+ mongodb + NPM包来通信。 有什么更好的吗? 顺便说一下,不应该有节点像机架,这将处理服务器configuration,并开始监听端口或服务器软件所强制的套接字? 现在我做疯狂的hi-jacking server.listen函数来获取服务器,并启动它神游。 你有做一些经验的插入式节点部署?