Node服務端極速搭建 - nvmhome

本文意在讓你掌握極速搭建Node服務端(任何Project)node

$ whoami
name: kelvin
email: kelvv@outlook.com
homepage: www.kelvv.com
github: https://github.com/kelvv

本文利用Docker搭建一個預安裝好:git

  • pm2 -- Node應用的進程管理器
  • git -- 代碼管理
  • ssh -- 遠程登陸
  • nvm -- node版本管理
  • npm -- node包安裝
  • node -- So,you know

本項目github:Here , 歡迎Startgithub

> 固然可直接使用該鏡像:docker

$ docker pull kelvv/nvmhome-docker

該項目由一份Dockerfile和.bashrc組成:npm

#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 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -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"]

上面給出了簡單的註釋,下面補充說明一下ubuntu

  1. ADD .bashrc /root/.bashrc 爲何須要把.bashrc添加進去呢?由於裏面把互動去掉,這樣pm2環境變量才能生效。
  2. 默認ssh的密碼爲:'myssh',若有須要,自行添加ssh無密登陸,我對該技術有文章:傳送門
  3. 該鏡像對外開放兩個端口,
  • 22: ssh端口
  • 80: 默認網站端口
  1. 你們能夠以該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 root@xxx.xxx.xxx.xxx鏈接到剛建立的應用服務端,自由發揮。bash

  • 對該鏡像有改進,需從新構建
    鏈接到服務器,下載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傳送門session

相關文章
相關標籤/搜索