记录node+exprss项目部署到服务器步骤教程

/ 0评 / 0

一、安装node服务

//安装wget
yum install -y wget

//下载node
wget https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz

下载完成后执行安装命令:

xz -d node-v12.16.2-linux-x64.tar.xz

tar -xvf node-v12.16.2-linux-x64.tar

执行软链接,全局使用

ln -s ~/node-v12.16.2-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v12.16.2-linux-x64/bin/npm /usr/bin/npm

检测node是否安装成功

node -v
npm -v

二、服务器新建数据库与存放node服务文件夹

导入数据库并上传node代码到服务器;

服务器添加安全组 3000端口入口

//注 : 3000为node默认端口,修改后对应修改; 记得修改数据链接信息;node后台服务并没打包的说法

三、启动node服务

这里以 ‘www/node/project’目录为实例;目录为node源码上传到服务器的目录

终端输入命令:

cd /www
cd node
cd project

//执行启动代码
npm start

这样就可以通过你的服务器IP:3000访问项目了。

但是这样启动的话,每次关闭终端服务将失效;

四、使用pm2启动node服务

全局安装pm2

npm install -g pm2

网上很多说法是执行如下命令启动的,笔者在这里踩了很久的坑;

pm2 start app.js

是的,这样执行 pm2 list 看到服务是真的启动了, online状态,但返回浏览器打开发现并不能访问(IP:3000)

执行端口状态命令发现并没有3000的服务

//端口列表命令
netstat -tpln

最后笔者是用如下命令解决的:

pm2 start ./bin/www

最后执行端口命令发现3000端口有了,关闭终端浏览器也可以访问打开;

更多的pm2命令可以百度搜索研究使用哦;

五、使用nginx反向代理使用域名访问

现在我们的服务是通过IP:3000去访问的,如果需要域名访问服务的话,就需要如下操作,比如说我想通过二级域名访问: node.liumingchi.com

1.域名添加二级域名解析到服务器公网,简称域名解析;

2.安装nginx,这里就不说了,一般配置过服务器都有这个,或者自行百度安装;

3.找到nginx的配置文件.conf,在server下添加:

server {
    listen       80;
    server_name  node.liumingchi.com;      
    location / {
      
         proxy_pass http://localhost:3000;
   
    }
}

然后重启nginx即可。

如有错误,欢迎留言纠正!

发表评论

您的电子邮箱地址不会被公开。