如何在000webhost.com等免费主机部署Node.js REST Web服务?
部署Node.js REST API到000webhost的详细流程
我之前刚好把自己的Node.js REST API部署到000webhost上,踩过几个小坑,给你整理了一套亲测可行的详细流程:
一、先把本地项目调整好
- 先确保你的API在本地跑起来没问题,所有接口都测试一遍,避免带着bug部署。
- 重点改一下端口配置!别硬写3000这种固定端口,000webhost会给你分配动态端口,所以改成动态获取:
const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); }); - 检查
package.json里的scripts,一定要有start命令,不然服务器不知道怎么启动你的项目:"scripts": { "start": "node server.js" // 这里的server.js换成你的入口文件名 } - 本地的
node_modules文件夹不用打包上传!带着反而占空间还容易和服务器环境冲突,只要把package.json和package-lock.json传上去就行,服务器会自动安装依赖。
二、上传项目文件到000webhost
- 登录你的000webhost账号,进入控制面板,找到你要部署的站点(没有的话先新建一个免费站点)。
- 打开File Manager(文件管理器),找到
public_html文件夹——这是站点的根目录,所有项目文件都要传到这里。 - 把本地项目的所有代码文件(入口文件、路由、模型、配置文件等)还有
package.json、package-lock.json全部上传到public_html里。
三、配置Node.js运行环境
- 在控制面板里找Node.js选项,一般在「Tools」或者「Advanced」菜单下面。
- 启用Node.js支持,选择和你本地项目一致的Node.js版本(优先选LTS版,比如18.x,避免版本不兼容)。
- 设置Application root为
public_html(就是你传文件的目录),Application startup file填你的入口文件名,比如server.js。 - 点击「Save」保存配置,这时候服务器会自动安装你的项目依赖,然后启动API服务,大概等个1-2分钟就行。
四、测试部署后的API
- 等服务器启动完成后,用你的站点域名加上API路径访问试试,比如
your-site.000webhostapp.com/api/users,看看能不能正常返回数据。 - 如果出问题了,去控制面板的Logs(日志)里看错误信息,常见的坑比如:依赖安装失败(可能是某些包需要编译,免费环境不支持)、数据库连接用了本地地址(要改成远程数据库,比如MongoDB Atlas或者000webhost自带的免费数据库)、代码里的本地文件路径没改。
一些额外注意事项
- 000webhost免费版有资源限制,CPU、内存、带宽都有限,适合小型测试项目或者个人练手用,要是访问量大会被限流。
- 敏感信息比如数据库密码、API密钥别硬写在代码里,去控制面板的Environment Variables里设置环境变量,代码里用
process.env.XXX来获取。
内容的提问来源于stack exchange,提问作者XYZW
相关产品推荐
相关产品推荐

