nodejs应用在linux服务器中的部署

Posted Franson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs应用在linux服务器中的部署相关的知识,希望对你有一定的参考价值。

1.(可选)添加用户:

addgroup wmui添加用户组
useradd -d /home/wmui -s /bin/bash -m wmui创建wmui用户
passwd wmui设置密码,如果忘记密码,也可用此命令重置密码
usermod -a -G wmui wmui 添加用户到组
visudo 设置sudo权限
然后会跳转到下面页面技术分享

root ALL=(ALL:ALL) ALL下面添加wmui ALL=(ALL) NOPASSWD: ALL
ctrl+x保存退出
接下来打开一个新的窗口,测试是否登陆成功。

2.(可选)ssh无密码登陆配置

首先你需要在本地安装git并生成id_rsa.pub,打开命令行
在本地生成公钥和私钥:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
在服务器生成公钥和私钥:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
在服务器窗口输入:
echo "[your public key]" > ~/.ssh/authorized_keys将本机的公钥拷贝到服务器的authorized_keys文件

技术分享

完成以上操作,测试是否生效,重启服务:sudo service ssh restart新打开一个窗口,输入用户名回车,登陆成功

3.nodejs环境搭建

安装常用软件
sudo apt-get install vim openssl build-essential libssl-dev wget curl git
nvm安装
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
打开新的窗口
nvm install node v8.1.3  这里也可以下载编译好的压缩包进行安装
nvm use node v8.1.3
nvm alias default v8.1.3 默认版本
安装常用node包
npm i pm2 webpack vue-cli -g

4.创建和部署hello world

以root用户身份在根目录下创建www目录,www目录下创建myNodeApp文件夹,里面就一个文件,app.js,内容如下:

const http = require(http)
http.createServer(function(req,res) {
res.writeHead(200,{Content-Type:text/plain})
res.end(hello world)
}).listen(8081)

console.log(server test)

(如果你是自己结合nodejs框架如express编写的应用(含有package.json),则直接将项目代码拷贝至www目录下,进入项目目录如myNodeApp,执行命令

npm install 安装依赖。)

进入到www下myNodeApp文件夹下
hello world测试:
pm2 start app.js
pm2 list 查看启动的应用
pm2 show hello 查看详细信息
pm2 logs 查看当前信息
pm2 stop hello 停止hello
pm2 delete hello 删除hello
技术分享
如图所示表示启动成功,输入hello.86886.wang就可以看到hello world了
































以上是关于nodejs应用在linux服务器中的部署的主要内容,如果未能解决你的问题,请参考以下文章

使用nssm在windows服务器上部署nodejs

使用angular 9部署在heroku上的nodejs应用程序中的CORS错误

NodeJS中的Websockets。从服务器端WebSocket客户端调用WebSocketServer

在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(nodejs)项目

部署nodejs项目到服务器的一些总结

将React + NodeJS + Express + MySQL应用程序部署到Heroku仅部署服务器而不是React