记一次完整的新浪云部署nodejs项目上线完整流程及填坑处理!

工欲善其事,必先利其器。在开始本次部署新浪云nodejs项目之前,请先做好以下准备工作:

1.注册一个新浪微博账号!
2.使用注册好的新浪微博账号,登录新浪云网站:http://www.sinacloud.com/public/login/inviter/gaimrn-mddmzeKWrhKW7roB4gWZ_eIVrfrKydg.html
3.在你的计算机上安装git,如何安装请参考廖雪峰老师的git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
4.请确定你的项目已经调试好,能够正常运行!
5.准备好你的数据库文件。


这里我假设大家已经完成了以上5步,正式开始线上项目的部署!
1.登录进入新浪云网站之后,系统一般会推荐你实名认证,如果是正常认证需要至多3天时间,加急认证是2小时之内,不过似乎要额外付费,大家正常认证即可。
在这里插入图片描述

提交认证资料之后就不用管它了,等它自己认证通过。在认证通过之前,如果别人访问你的线上项目是会提示该网站未经认证,请谨慎访问。


2.点击左上角的控制台,在弹出的下拉菜单中选择云应用SAE。
在这里插入图片描述


3.进入云应用SAE之后,点击创建新应用。这里我已经创建好了一个应用,如果大家是第一次使用是没有下方的应用信息的。
在这里插入图片描述


4.中间会弹窗一个什么规范信息,确认之后继续创建,选择nodejs开发语言,环境配置和示例个数根据自己的情况来。因为这里我只需要作为一个示例,所以都选择最低的标准,可以看到价格是0.03元/小时。一定要填写应用信息,二级域名那里就是以后访问的域名。
在这里插入图片描述


5.确认创建之后,会返回应用管理界面。在代码管理界面,我们可以看到非常重要的信息,系统分配给你的新浪云git仓库信息。
在这里插入图片描述


6.新浪云的操作先告一段落。接下来我们在电脑上新建一个空的文件夹,用来存放你的项目文件。
为什么不直接使用已有的项目文件夹呢 ?因为万一你操作失误,把项目给毁了我可不负责的。
在这里插入图片描述


7.打开cmd,进入到当前目录下。使用git init 初始化当前文件夹。
成功之后可以看到自动建立了一个隐藏文件夹.git,这是git的版本管理仓库,千万不要删除和修改里面的文件。想详细了解这块知识的请移步廖雪峰老师的git教程,链接在最前面。
在这里插入图片描述

8.然后将你的项目代码全部移动到该目录下,注意不要node_modules文件夹,哪怕它再小,不要,不要,不要!
第一:因为我们需要检查一下你的package.json中是否已经完整的记录了运行该项目所需要的所有依赖模块。
第二:因为项目部署上线的时候,是不能上传node_modules文件夹的,新浪云的服务器会自动根据你的package.json中的dependencies来创建node_modules文件夹。
在这里插入图片描述

9.如果能够确保自己的项目中package.json完整的记录了所有依赖模块,那么这一步可以跳过不看。如果不确定的同学们,请在该目录下,打开cmd,运行npm i,系统会根据package.json文件自动生成 node_modules依赖包。

npm i

在这里插入图片描述

然后请确认依赖安装完毕之后,你的项目是否能够正常运行。如果能,说明你的package.json没问题,如果不能运行,那么请根据项目报错原因,查找缺少哪个模块,然后使用 npm i --save 包名称 ,这样会将安装的包记录在package.json中。直到项目运行成功,package.json文件完整无误为止!这里一定要弄清楚,否则项目根本无法上传。
在这里插入图片描述


10.配置package.json文件。
首先将你的服务器入口文件名称改为index.js,然后在package.json中,指定你开发项目时所用的nodeJS版本,如果不指定,那么新浪云服务器会按照最高版本的nodeJS来运行,很可能会导致后面的镜像文件配置失败,
在这里插入图片描述

然后在scripts中设置start启动命令,node index.js
在这里也可以看到你的项目依赖哪些模块。
在这里插入图片描述


11.将你项目中服务器的监听端口改为5050,因为新浪云的服务器运行端口是5050
在这里插入图片描述


12.请确保此时你能够正确运行 npm install命令 和npm start命令,如果是cmd命令行工具应该可以两条命令一起执行:
npm install && npm start,如果是Powershell则只能分开运行。运行后可以先看看你的项目服务器是否运行正常,通过网络地址查看一下项目文件或者图片,能看得到就说明没问题。
确定项目代码没有问题了,请一定记得删除node_modules文件,删除node_modules,删除node_modules,删除node_modules。否则后面会报错,如果只看报错提示是很难找到错误根源的。

在这里插入图片描述


13.修改数据库链接文件,因为新浪云使用的数据库信息和你本地使用的不一样。这里我修改的是pool.js
在这里插入图片描述
这里的信息需要登录你自己的新浪云数据库后台查看,如果没有创建过新浪云数据库的同学,请跟着下面的步骤一起创建一下,先回到新浪云的应用管理后台。

一张图胜过千言万语,直接看图吧。
在这里插入图片描述

点击创建
在这里插入图片描述
点击确认。等待系统初始化。

在这里插入图片描述
点击红框处的管理,进入数据库管理后台。
在这里插入图片描述

点击选择文件,导入你的sql数据文件,然后右下角执行。
等待片刻,导入完毕,可以看到你的数据库数据了。
在这里插入图片描述
回到应用管理后台,点击 共享型MySQL,点击详情。在这里插入图片描述

在这里你就可以看到端口号,主库地址,数据库名称,用户名称,密码等连接数据库必备的信息。填到前面你的数据库链接文件中即可,这里我修改的是pool.js。
在这里插入图片描述
这一块似乎好长,真是累。不过快了。


14.回到你的电脑,在之前打开的cmd中,运行以下命令:
git remote add sae +你之前看到的git仓库地址!在第5部的时候有提到过!

git remote add sae https://git.sinacloud.com/onekeyy

在这里插入图片描述

然后输入git remote,查看远程库的名称是否为sae
在这里插入图片描述


15.输入git add . 将目录下所有文件添加到仓库,
在这里插入图片描述

然后输入git commit -m “this is my first project”,将刚刚添加的文件提交到本地的git仓库(对,就是前面不要你删除修改的那玩意),后面双引号中的内容为对本次提交进行的备注。
在这里插入图片描述
你会看到N多文件被提交上去了,那些就是你的项目文件。


16.差不多到最后了,将本地仓库提交到远程sae仓库中。
输入git push sae master
这时系统会弹窗要求你输入用户名和密码,有些版本不会弹窗,要求你直接在cmd中输入用户名和密码。
这里因为我已经输入过了,所以不会再要求输入了。在这里插入图片描述

你问用户名和密码是什么?
就在前面第5部中提到的git仓库信息,上面有你的用户名,密码就是你注册时填写的安全密码!
如果看到以下界面,那么恭喜你已经部署成功了!!
在这里插入图片描述

如果你出现以下错误:
error: RPC failed; curl 55 SSL_write() returned SYSCALL, erWfrno = 10053
atal: the remote end hung up unexpectedlyB | 2.00 KiB/s
在这里插入图片描述
那么仍然要恭喜你,因为这个坑已经被我填上了,你不用再东翻西找了!
出现该问题的原因是你git提交的时候将node_modules也上传了,要么建立.gitignore文件,提交的时候忽略node_modules文件夹。要么就干脆直接删了node_modules,我似乎啰嗦了很多遍?
因为这个问题我查找了n多资料,问了n多人,最后还是新浪客户给我的回复解决了问题。笑哭。客服关键时候还是很给力的 ,而且那么晚了还在加班,确实不容易,一个大大的五星好评。
在这里插入图片描述


17.至此,新浪云部署nodeJS项目已经结束了,打开应用管理后台,点击容器管理,可以看到你的项目实例。打开控制台应用管理,可以看到你的项目网址。
在这里插入图片描述

在这里插入图片描述

尝试一下访问静态资源目录中的图片,可以访问!
在这里插入图片描述

结语:

终于写完了,真的好累。由于我的项目是前后端完全分离的,所以细心的同学应该可以发现,这里上传的其实只是服务器端代码,如果大家的前后端代码是在一起的,那么前端代码放在静态资源目录下面就可以了。如果前端代码不想和服务器端代码放在一起,那么请看下集【记一次完整的阿里云虚拟服务器的上传前端代码经历(填坑)】和【新浪云部署中如何修改已经上线的代码NodeJs版】
链接…等我写好了再发出来。

最近收到反馈有些朋友在git push时候马上报错“failed to push some refs to”,错误原因是你之前在远程库中上传了一些内容,然后又换了一个新的本地仓库导致两个库之间没有关联,解决办法请参考之前写的另外一篇文章: https://blog.csdn.net/SilenceJude/article/details/84969237

### 回答1: 1. 安装Node.js和npm:在Linux系统上,可以使用包管理器来安装Node.js和npm。例如,在Ubuntu上,可以使用以下命令安装: sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm 2. 安装PM2:PM2是一个流行的Node.js进程管理器,可以用来启动、停止和监控Node.js应用程序。可以使用以下命令安装: sudo npm install pm2 -g 3. 克隆项目代码:使用Git工具从代码仓库中克隆项目代码到本地。 4. 安装项目依赖:进入项目目录,运行以下命令安装项目依赖: npm install 5. 配置环境变量:在Linux系统上,可以使用环境变量来配置应用程序的端口号、数据库连接等信息。可以在系统的/etc/profile文件中添加以下内容: export NODE_ENV=production export PORT=300 export DB_URL=mongodb://localhost:27017/myapp 6. 启动应用程序:使用PM2启动应用程序,可以使用以下命令: pm2 start app.js 7. 监控应用程序:使用PM2监控应用程序的运行状态,可以使用以下命令: pm2 monit 以上是部署Node.js项目的基本步骤,具体操作可能会因项目的不同而有所差异。 ### 回答2: Linux部署Node.js项目是一项相对来说比较简单的任务,以下是一些步骤及注意事项。 1. 安装Node.js和npm 首先需要在Linux系统上安装Node.js和npm。可以使用apt-get或yum等软件包管理器来安装。例如,在Ubuntu上可以使用以下命令: ``` sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm ``` 2. 安装pm2 pm2是一个进程管理工具,用于在后台运行Node.js项目。可以使用npm来安装pm2。 ``` sudo npm install pm2 -g ``` 3. 配置项目环境 将项目文件上传到目标服务器,并在项目目录下运行以下命令来安装所需的依赖项。 ``` npm install ``` 如果需要在生产环境下运行,可以使用--production选项来只安装必需的依赖项。 ``` npm install --production ``` 4. 启动项目 可以使用pm2来启动项目。在项目目录下,运行以下命令来启动应用程序。 ``` pm2 start app.js ``` 这将在后台启动Node.js应用程序,并将其作为进程运行。如果需要在某个端口上运行应用程序,则可以向pm2传递一个变量来指定端口号。 ``` pm2 start app.js --name myapp --env NODE_ENV=production -- -p 3000 ``` 这将在端口3000上启动应用程序,并将其命名为“myapp”。 5. 配置NGINX NGINX是一个流行的Web服务器,可以用于反向代理Node.js应用程序。在Linux系统上安装NGINX,然后在配置文件中添加以下行。 ``` server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 这将把所有到example.com的请求转发到端口3000上运行的Node.js应用程序。 6. 重启NGINX 完成NGINX配置后,需要重启它以使更改生效。 ``` sudo service nginx restart ``` 如上所述,完成以上步骤后,应用程序将在后台运行,而用户将能够通过NGINX服务器访问应用程序。如果需要更新应用程序,只需停止运行的进程,更新代码和依赖项,然后重新启动应用程序即可。 ### 回答3: 近年来,Node.js作为一种流行的开发语言,被广泛应用于Web应用程序开发、服务器端编程等领域。而linux是一种常用的服务器操作系统,因此在linux上部署Node.js项目也是一件很普遍的事情。下面将介绍如何在linux系统上简单部署Node.js项目的整个过程。 1. 安装Node.js环境 在部署Node.js项目前,需要先在linux系统中安装Node.js环境。可以通过以下命令安装: ``` sudo apt-get install nodejs ``` 安装完后,运行`node -v`命令可以检查Node.js的版本信息。如果提示“command not found”,则需要安装npm包管理器: ``` sudo apt-get install npm ``` 2. 编写Node.js项目部署Node.js项目时,需要将项目代码上传到服务器上。可以使用SFTP等工具将本地的项目代码上传到linux服务器上的某个目录。 3. 安装依赖模块 在Node.js项目中常常会使用某些第三方模块,而这些模块需要在项目中安装后才能使用。使用npm包管理器安装模块非常简单,只需要在项目目录下运行以下命令即可: ``` npm install moduleName ``` moduleName是需要安装的模块名。 4. 运行项目 在所有依赖模块安装完毕后,就可以运行Node.js项目了。使用以下命令运行: ``` node fileName.js ``` fileName.js是项目的入口文件名。 但是,使用上述命令运行时,如果终端窗口关闭,或者出现了异常等错误,就会导致程序退出。因此,在生产环境中,我们通常会使用一些进程管理工具,如PM2来运行Node.js项目,这样可以保证Node.js服务一直运行,并且可以查看日志、监控服务状态等。PM2可以通过以下命令进行安装: ``` sudo npm install pm2 -g ``` 之后,使用以下命令来运行Node.js项目: ``` pm2 start fileName.js ``` 这样就可以在linux系统上成功部署和运行Node.js项目了。 总的来说,部署Node.js项目需要进行环境安装、代码上传、依赖模块安装以及运行项目等步骤,其中还有许多细节需要注意,例如端口号、权限控制、数据存储等。但如果熟悉了这些步骤,就可以在linux系统上较为轻松地部署Node.js项目
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值