Node服务端极速搭建 -- nvmhome

> 本文意在让你掌握极速搭建Node服务端(任何Project)

```
$ whoami
name: kelvin
email: [email protected]
homepage: www.kelvv.com
github: https://github.com/kelvv
```
****
本文利用Docker搭建一个预安装好:
* pm2 -- Node应用的进程管理器
* git -- 代码管理
* ssh -- 远程登录
* nvm -- node版本管理
* npm -- node包安装
* node -- So,you know

**本项目github:[Here](https://github.com/kelvv/nvmhome-docker)** , 欢迎Start

**> 当然可直接使用该镜像:**
```
$ docker pull kelvv/nvmhome-docker
```

****

该项目由一份Dockerfile和.bashrc组成:
```
#Dockerfile

FROM ubuntu:14.04

RUN apt-get update
#安装git ssh
RUN apt-get install -y curl git-all openssh-server
ADD .bashrc /root/.bashrc

#nvm安装
RUN curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
RUN . /root/.bashrc;nvm install 4.3.1;nvm use 4.3.1;npm install pm2 -g;pm2 startup ubuntu

RUN mkdir /var/run/sshd
RUN echo ‘root:myssh‘ | chpasswd
RUN sed -i ‘s/PermitRootLogin without-password/PermitRootLogin yes/‘ /etc/ssh/sshd_config

# SSH登录
RUN sed ‘[email protected]\s*required\s*[email protected] optional [email protected]‘ -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

#对外开放端口
EXPOSE 22
EXPOSE 80

#启动ssh服务
CMD ["/usr/sbin/sshd", "-D"]
```

上面给出了简单的注释,下面补充说明一下
1. ADD .bashrc /root/.bashrc 为什么需要把.bashrc添加进去呢?因为里面把**互动**去掉,这样pm2环境变量才能生效。
2. 默认ssh的密码为:‘myssh‘,如有需要,自行添加ssh无密登录,我对该技术有文章:[传送门](http://www.jianshu.com/p/27d8b8d1d571)
3. 该镜像对外开放两个端口,
* **22: ssh端口**
* **80: 默认网站端口**
4. 大家可以以该Dockerfile为基础,继续写属于自己应用的Dockerfile。Happy Node

##使用

* 使用该镜像
连接到服务器,执行以下命令
```
$ docker pull kelvv/nvmhome-docker
$ docker run -p 0.0.0.0:3000:22 -p 0.0.0.0:80:80 -d kelvv/nvmhome-docker
```
你可以回到自己的电脑,使用ssh [email protected]连接到刚创建的应用服务端,自由发挥。

* 对该镜像有改进,需重新构建
连接到服务器,下载Dockerfile,修改后执行以下命令
```
$ docker build -t name .
$ docker run -p 0.0.0.0:3000:22 -p 0.0.0.0:80:80 -d name
```

##总结

以上已经建立好基础,下一篇文章会说说:如何使用nvmhome+pm2,一键发布、管理自己的应用,,是一个很简单的个人主页,希望你们喜欢!

我的个人主页就是这样部署的:[Homepage传送门](http://www.kelvv.com/)

时间: 2024-10-10 13:42:58

Node服务端极速搭建 -- nvmhome的相关文章

spring-oauth-server实践:客户端和服务端环境搭建

客户端:http://localhost:8080/spring-oauth-client/index.jsp 服务端:http://localhost:8080/spring-oauth-server/index.jsp access_token=942090fc-1aa0-4444-8127-57214680df3b 验证业务:http://localhost:8080/spring-oauth-server/m/dashboard?access_token=942090fc-1aa0-44

PHP服务端环境搭建

一.PHP服务端环境搭建 1.php 服务端环境  安装套件 xampp(apach+mysql+php解释器) F:\MyDoc文件(重要)\DL_学习\download重要资源\apache服务器组件 安装 此时进入xmapp面板显示成功运行 测试本地Apache服务器是否开启:浏览器中输入127.0.0.1 回车即可进入xmapp官网 4.修改浏览器中默认出现的dashboard文件夹 打开xmapp下htdocs文件夹下 index.php文件  配置文件中默认跳转到本文件夹 解决办法:

Vue+koa2开发一款全栈小程序(5.服务端环境搭建和项目初始化)

1.微信公众平台小程序关联腾讯云 腾讯云的开发环境是给免费的一个后台,但是只能够用于开发,如果用于生产是需要花钱的,我们先用开发环境吧 1.用小程序开发邮箱账号登录微信公众平台 2.[设置]→[开发者工具]→第一次是git管理,开启腾讯云关联 3.会一路跳转到腾讯云的[开通开发环境]的流程要走 1.已经完成 2.下载安装微信开发者工具,也已经下载安装了 3.下载Node.js版本Demo 将demo中的server文件夹,复制到mpvue项目中 在项目下的project.config.json中

zabbix服务端监控搭建(一)

第1章 环境搭建 [[email protected] zabbix]# uname -mx86_64[[email protected] zabbix]# uname -r2.6.32-642.el6.x86_64[[email protected] zabbix]# cat /etc/redhat-release CentOS release 6.8 (Final) 先安装zabbix相关服务,再安装数据库.zabbix相关服务安装完成后,默认会把apache自动安装上去.这就是传说中的la

Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)

一.前言 前面介绍了Android中视频直播中的一个重要类ByteBuffer,不了解的同学可以 点击查看 到这里开始,我们开始动手开发了,因为我们后续肯定是需要直播视频功能,然后把视频推流到服务端,本地在进行拉流播放的流程.所以这个过程中,我们需要首先来把服务端这个中间环节的工作搞定,后续再弄推流和拉流功能.现在推流大部分都是使用RTMP/HLS协议的,关于这两个协议的区别: 所以我们服务端搭建就需要用这两个协议,不过本文放心了,不会去手动的编写一套协议代码的,谁叫这个世界属于开源呢? 需要的

Openldap服务端centos7搭建过程

一:前言 目前网上有很多的Openldap服务端搭建教程,但是大部分其实都还是6的部署过程,许多朋友在centos7下按照网上的文档进行部署,会发现根本没有主配置文件,加上我自己踩过的一些坑,在这篇文档里,我把centos7下部署Openldap的过程再梳理一遍. 二:知识准备 1:根据我最近学习到的,我认为ldap就是一个账户认证服务,通过单服务端多客户端的方式,每新增一个客户端服务器,都可以简单的通过ldap客户端配置来将大批量用户加入系统当中,可以省去很多时间. 2:为了更好地在cento

教程:node服务端阿里云配制0到完成

前言:有许多前端朋友些完自己的node代码,不知道如何放到服务器上,在此做一下解释说明如何配置:其实这个服务器就是好比自己的电脑一样, 只不过是把桌面等熟悉的视图界面工具给简化了,只有电脑的盘符文件夹等,所有的操作都在一个小黑窗口远程操作该服务端的文件等服务端配置. 首先不要对它的操作使用的方式吓到,完全可当做是一个jump工具远程操作另一台电脑而已,其实实质上也是这样的. 第一步:开车先得有辆车,赶紧跑步去阿里云找个最便宜实惠的服务器拿来练练手. 直接去阿里云网站注册认证之后就可以挑选不同配置

seafile服务端的搭建

环境:CentOS Linux release 7.2.1511 (Core)一.准备工作1.1 安装wget.vim yum install -y wget vim 1.2 安装epel.Nux Dextop1.3 防火墙上放行8000(seahub服务,seahub 是 Seafile 服务器的 Web 端),8082端口(seafile fileserver服务, 负责为 Seahub 处理文件的上传和下载).firewall-cmd --zone=public --add-port=80

rsync服务端快速搭建

1. 创建配置文件 配置文件为不存在需要自己新建 mkdir /etc/rsyncd touch /etc/rsyncd/rsyncd.conf #主配置文件; touch /etc/rsyncd/rsyncd.secrets #用户名密码配置文件; touch /etc/rsyncd/rsyncd.motd #连接时提示信息 chmod 600 /etc/rsyncd/rsyncd.secrets #将密码权限修改,增加安全性 echo "wys:123456" >> /