在Linux上部署Nodejs的web项目
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux上部署Nodejs的web项目相关的知识,希望对你有一定的参考价值。
这里用的例子是一个用http
模块写的简单web项目,要求部署到云服务器上,让外界浏览器可以访问。项目基本目录结构如下:
第一步,将项目压缩打包成tar.gz
格式,包括项目下的node_modules文件夹。
第二步,将这个.tar.gz
压缩文件通过文件传输工具上传到云服务器上任意目录下。
然后使用tar -xvf feedback.tar.gz
命令对该压缩包进行解压。
第三步,启动项目
跳转当前项目下,执行node app.js
命令启动项目。其中app.js文件就是项目的核心启动文件。注意,执行node命令的前提是已经安装了node.js并且配置了全局软链接,可以通过node -v
命令来查看node命令是否可以使用。如果没有安装Node.js请参考:在Linux上安装Node.js
其实启动项目同在Windows系统下启动一样,都是使用node命令执行js文件。成功启动项目后,就可以通过http://IP地址:端口号
进行访问了,其中IP地址就是该服务器的外网IP(该项目是部署在腾讯云服务器上的,这里的IP改成自己服务器IP即可),而端口号就是在程序代码中设定的端口号,这里设定的端口号是8888
。
但事实上在浏览器输入http://IP地址:端口号
访问,没有结果。
原因是该项目需要通过8888
端口访问,而腾讯云服务器是没有开放端口的,所以项目是访问不了的,或者可以直接关闭服务器的防火墙,但不建议。这里演示下如何在腾讯云服务器上开放端口。其他云服务器的端口开放也大同小异。
可以看到服务器是默认开放了一些端口的,但没有8888
端口,需要我们手动开放。
点击"添加规则"按钮,添加开放端口规则。
就可以看到添加成功的规则
再度访问就能成功了
注:
- 这里使用的服务器是腾讯云服务器,安装的是CentOS7系统。使用自己购买的服务器即可。
- 这里使用的项目只是一个简单的web项目,使用原生
http
模块写的,代码很简单。而其他node.js项目也可以这样部署,以此为例。
以上是关于在Linux上部署Nodejs的web项目的主要内容,如果未能解决你的问题,请参考以下文章