Nodejs服务器部署现在复杂吗?
Nodejs服务器部署现在复杂吗?
能不能像采用打包 app 那样,打一个包放到一台未安装 node 的服务器上运行呢?
这样 node.js 部署也就能像 go 那样轻松了。
不复杂 不能
完全没有 node 环境的话, 扔 docker 里?
能啊…有好几个方案都是打包成二进制的
nw.js 和 election ? 这俩是客户端解决方案 服务端目前有二进制打包?
jxcore nexe 这种
Node.js 解决方案和开发模式,注定无法使用传统的二进制打包方案,有很多人尝试,但是结果都无法满足要求,我自己也尝试过很多种可能的方案,最终的结论就是可靠性很低,成本太大,局限性太多。放弃
业绩推荐部署方式: docker
…docker
docker +1
docker+1
Python 、 PHP 同理
所以 Docker 大法吼啊。
写个 helloworld 试了一下 nexe 他把 nodejs 源码下载到本地重新编译了一遍 最终生成 2.5G 大的一个 nodejs 依赖文件夹 和一个 30+M 的二进制主文件 根本不实用
666
看来还是 docker 好,开发调试都方便
可以试试 Jenkins+aws ec2+aws cloudformation+puppet+aws code deploy 来实现 code 和运行 instance 的全部自动化。
docker+++
其实服务器上装个 nodejs 好像挺简单的。。(如果你使用 ubuntu 的话,直接下载二进制文件,解压目录,设置 env 即可
所以打包,你可以把 nodejs 一起打包了~ 然后初始化的时候安装上即可
不复杂,能打包
Docker 一键转移
那为什么不直接 golang
我刚刚弄了个 CentOS 5 ,还不知道成功了没有,可以输出 helloword 了,
感觉有些麻烦:
1 、升级 Python ->2.7
2 、安装 nodejs
http://blog.csdn.net/veizz/article/details/7237185
打包一个 node ,一个带有依赖的 app , over 。
Docker 这东西在一定程度是不错的,不过我不喜欢引入中间层,除非实在没有办法,否则我更希望是原生的,直接的
能,如果你依赖的 npm 模块不需要编译的话甚至可以直接拷贝过去运行
docker++++
目标服务器属于局域网 docker 也没啥问题吧。。
我用 shipit, 只需要一个命令部署就好了
装 docker ,拉镜像都是问题。
内网放一个 docker registry 然后镜像推到那上面其他机器从那个上面拉就可以。
至于装 docker ,不能做系统的时候就装好么?
真麻烦……
推荐使用 pm2 管理
node 的部署还算可以,加上数据库, nginx 之类的,其实不是很复杂。推荐: http://www.jianshu.com/p/df7f017d88de
Node.js服务器部署的复杂性主要取决于项目的具体需求和服务器环境配置。一般来说,如果遵循标准的部署流程,并使用一些自动化工具和进程管理器,可以大大简化部署过程。
以下是一个简化的Node.js项目部署流程示例:
-
服务器准备:
- 选择并购买云服务或物理服务器。
- 安装操作系统,配置安全组,开放必要的端口(如80和443)。
-
环境搭建:
- 使用SSH登录服务器。
- 安装Node.js和npm:
sudo apt update && sudo apt install nodejs npm
(以Ubuntu为例)。 - 安装其他依赖软件,如MongoDB等。
-
项目部署:
- 上传项目文件到服务器,可以使用SCP、SFTP或Git。
- 进入项目目录,安装依赖:
npm install
。 - 编写或修改启动脚本(如app.js)。
-
进程管理:
- 使用PM2等进程管理器来启动和管理Node.js应用:
npm install -g pm2
,pm2 start app.js --name "myNodeApp"
。 - 配置PM2开机自启和保存进程列表。
- 使用PM2等进程管理器来启动和管理Node.js应用:
-
配置反向代理(可选):
- 安装Nginx,配置反向代理以提高安全性和性能。
-
监控和日志:
- 使用PM2的监控模块或其他日志管理工具来监控应用状态。
通过遵循上述步骤,并使用适当的工具和进程管理器,Node.js服务器的部署可以变得相对简单和高效。