从本地到Linux部署Node js应用

时间:2018-12-17 03:56:47

标签: node.js

我是Node js的新手,并且编写了一个REST API,该API在Windows M / C上本地工作。我想将其部署到我的dev linux机器中,请让我知道如何有效地做到这一点吗?

谢谢

4 个答案:

答案 0 :(得分:2)

您需要执行以下步骤:

1。在git中推送代码

将代码传输到远程服务器中最有效的方法之一是使用git。将您的代码推送到git存储库中。

git add .
git commit -m "Commit changes in remote"
git push 

2。登录到服务器

在Windows中,您可以使用SSH客户端应用程序(如腻子)来访问服务器。 This link将指导您安装和使用腻子访问远程服务器。

3。安装Git并将项目拉入服务器

sudo apt-get install -y git
mkdir projects
chown user_name:group_name -R projects(give user permission)
cd projects
git clone --branch=master https://github.com/myProject.git myProject (here myProject is project name)

以上命令将在home / projects / myProject文件夹中获取您的源代码。

4。安装npm软件包

如果服务器中未安装npm。首先,您需要在服务器上安装nodejs。

sudo apt-get update
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install nodejs
sudo apt-get install npm

You can see version of nodejs using: 
nodejs --version

有关更多详细信息,请参见this link

一旦安装了nodejs,请安装项目的节点软件包。

cd projects/myProject
npm install

注意:如果您的应用程序依赖于其他库(例如mySql,sqlServer或其他库),则也需要安装它们。

5。安装nginx

您也可以不使用nginx而使用nodejs自己的服务器,但是使用this stackoverflow answer中介绍的使用nginx有很多优点。 我建议在生产中使用Nginx作为反向代理。为此,您需要安装以下依赖项。

sudo apt-get install -y nginx build-essential g++ node-gyp

6。设置nginx

在安装nginx之后,我们需要在

中创建另一个nginx conf文件。
touch /etc/nginx/conf.d/myProject.conf 

将以下内容粘贴到文件myProject.conf

server {
  listen 80;
  server_name your_domain.com;
  location / {
    proxy_pass http://localhost:5555; (this is the port on which your node app runs)
    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;
   }
}

6。重新启动nginx

sudo nginx -t (to verify if all configuration are correct and error free)
sudo service nginx restart

7。设置PM2

如果我们想长期运行Node.js并且在出现错误的情况下不中断服务器,则需要像PM2这样的流程管理器。我们需要在全球范围内安装它。

npm install -g pm2

cd projects/myProject
pm2 start app.js --name="myProject" (note: you can give any name to the process)

为了在服务器重新启动时保存pm2进程,我们需要执行以下操作:

 pm2 save
 pm2 startup

请参阅the link,以获取有关设置nginx和pm2的更多详细信息。

答案 1 :(得分:1)

创建一个Github仓库,将您的代码推送到那里。然后将您的仓库克隆到您的dev linux框中。安装依赖项,配置连接。瞧!

答案 2 :(得分:0)

您可以使用 GIT 轻松实现。

简而言之,您必须执行以下步骤:

  • 在本地Windows m / c上安装git。
  • 创建新的存储库
  • 将代码推送到仓库
  • 转到ubuntu m / c并安装git
  • 从回购中拉钱。
  • 安装依赖项
  • 运行代码。

这里有详细的教程可以帮助您。 https://www.phusionpassenger.com/library/walkthroughs/deploy/nodejs/ownserver/nginx/oss/trusty/deploy_app.html

答案 3 :(得分:0)

通常我要做的是:

1. Create a git repo (github.bitbucket/gitlab etc)
2. Push my code to git repo
3. Ssh into my server
4. Clone the code from repo and npm install --production (dont want to install dev dependencies which are actually not needed in production)
5. open up ports on linux machine that the app requires
6. Install additional packages like pm2 or forever that keeps my nodejs app running and run the npm start through those process manager