怎么在linux Ubuntu上部署nodejs

今天特别开心,同时也有兴趣把最近的一些工作总结一下。 第一,方便记忆。 第二, 给需要的同学做参考

node.js 在本地的话,比较容易运行,node app.js 命令就搞定,但是当需要部署到生产环境的话并不容易,因为生产环境需要一直运行,像IIS,tomact一样。

环境:linux Ubuntu 16.04 64位

语言:nodejs

数据库:mongodb

 

 

当你需要把代码部署到一台刚买回来的云平台的时候,这台机器是空的,而且假设我们的代码是放在git 上面的。

 

安装

你需要安装所有需要的一些功能包

Nginx

将下面的命令在linux shell里面运行,或者最新的nginx

sudo -s
nginx=stable
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install nginx
exit
View Code

安装最新版本的 Node & NPM

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install nodejs
sudo apt-get install build-essential
View Code

安装最新版本的Git

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
View Code


从git中取得最新代码

cd /opt/
mkdir app
chown your_user_name app
git clone https://github.com/xx/example.git app
cd app
npm install
View Code

上面的代码路径是你自己放在github上的代码路径,根据自己的代码代替

 

持续运行24*7

Up until version 14.10 of Ubuntu the default init system is upstart. From Ubuntu 15.10 and Debian 8, the default init system is systemd.

也就是说,你可以将代码委托在upstart和systemd上的

Upstart

upstart是一个job,需要适当的配置一下

description "HPB" author "William Wang <526390800@qq.com>"

start on (filesystem and net-device-up IFACE=lo) stop on runlevel [!2345]

respawn

env PORT=5000

chdir /var/www/**/** exec node index.js(**为代码路径)
View Code

 

将上面的配置文件放在 /etc/init/node-app-1.conf中,另外拷贝一份一样的,把端口号改成5001 保存在 /etc/init/node-app-2.conf.

node-app-1 和node-app-2就是2个job,你需要把job跑起来,运行你的代码了,

$ sudo start node-app-1
$ sudo start node-app-2
View Code

 

Systemd

systemd也类似,

[Service]
ExecStart=/usr/bin/node /opt/app/app.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=node-app-1
User=your_app_user_name
Group=your_app_user_name
Environment=NODE_ENV=production PORT=5000

[Install]
WantedBy=multi-user.target
View Code


存入/etc/systemd/system/node-app-1.service中,另外也拷贝一份,把端口号改成5001.你一看就知道systemd是服务,现在将2个服务启动

$ sudo systemctl start node-app-1
$ sudo systemctl start node-app-2
View Code


好了,看看效果,网页能打开哈,当然需要输入你云服务器的IP地址+端口号

 

下一篇将介绍,怎么在nginx 绑定域名

 

转载于:https://www.cnblogs.com/williamwangzp/p/6729700.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值