Linux部署Node服务-2-部署过程

一、node项目部署过程总结

在已经有前端项目的前提下,走部署这一步(即:最后上线)

1.1 域名

  1. 购买一个域名(个人练习的话,其实也可以不买,但针对微信公众号,微信小程序的项目必须有域名备案)
  2. 将域名分为多个二级域名
  3. 域名备案 (国内域名都需要备案使用,虽然国外域名不用备案,但功能受限或不能上线,所以建议使用国内域名并备案)

1.2 服务器

  1. 可以直接使用阿里云,腾讯云等服务器
  2. 在自己的电脑(开发主机)上通过ssh来连接上服务器
  3. 通过远程命令来控制远程服务器,配置node等相关服务
    SSH和SSH客户端
    • SSH是Secure Shell缩写,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
    • SSH客户端: “SSH Secure Shell”、“PuTTY”、“securecrt”都是SSH客户端,使用它们就可以在window下去连接并操作linux服务器。
    • 关于SSH的介绍教程:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

1.3 服务器环境

  1. node服务
  2. mongodb数据库
  3. nginx前置服务

1.4 服务器安全防护

  1. 服务器的安全防护措施:IPtables,Fail2Ban

1.5 访问安全

  1. 对用户的访问配置SSL证书,用于保护服务器不被外部随意篡改
  2. 对本地开发主机要上传数据时,需要额外配置SSL加固证书

1.6 远端git存储

  1. 为了安全起见,不在本地主机和远程服务器上互传数据,而是通过git作为媒介,本地开发完后提交代码到git仓库,本地通知服务器上获取git新数据
  2. 为了实现上面的需求,可以在本地主机,远程服务器上都安装PM2

1.7 端口配置

  1. 使用Nginx占用80网络端口
  2. 对于不同的访问,使用nginx转发对应请求到对应端口

1.8 域名解析

  1. 将主域名解析为多个二级域名,主机下的不同域名分配不同的二级域名

二、购买域名和服务器及备案

2.1 域名

  • 买域名的大站:阿里云(中国万国)、爱名网、GoDaddy(国外)
    1、域名
  • 尽量不要选择混合域名
  • 要么纯英文,纯数字,纯拼音
    2、后缀
  • 尽量使用.com,.cn域名

2.2 域名解析

  • DNSPod是一个免费的域名解析网站,可用来解析域名

2.3 服务器选择

1、主机
- 国外:亚马逊 AWS、Linode、DigiOcean、Heroku(可直接部署node)
- 国内:阿里云ECS(推荐)、青云、UCloud、百度云

2、服务器系统
- 以Ubutu 14.04为例

2.4 备案

  1. 个人备案按照阿里云的提示步骤一步步进行就好了,一般一周左右就可以搞定

3、登录服务器

ssh root@123.22.235.1  (ip为阿里云主机的公网IP)
password:***   (为购买服务器时设置的root密码)

三、虚拟机的Ubuntu系统中安装Node环境

3.1 安装nvm

  • nvm是一个node的版本管理工具,用来安装node是很方便的(亲测:用nvm安装的node不需要去单独配置node的环境变量,这对于我这个linux小白来说简直太好了)。
# 安装nvm (根目录中)
cd /
sudo wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

# 重启cmd来检查是否安装成功(当输入以下命令后显示出nvm表示安装成功)
command -v nvm   

# 安装node (nvm install version) version为node版本号
nvm install 8.9.3

# 安装完后检查
node -v  =>8.9.3
npm -v => 5.6

3.2 ssh远程服务

  • 每次要更新远程服务器中的数据,或者要在另一台计算机上操作服务器时,需要用到ssh远程服务。
# 服务器中安装ssh服务
sudo apt-get install openssh-server
# 查看服务是否启动
sudo ps -e|grep ssh // (如果能看到sshd,代表服务已经启动了)
                    //如果没有启动:sudo service ssh start (启动ssh服务)
# 修改ssh配置文件
sudo vim /etc/ssh/sshd_config    // (进入到对sshd_config的编辑模式,注:vim需要安装使用)

在PermitLogin widthout-password用#注释掉,
再添加一行:PermitRootLogin yes
输入:wq保存并退出

# 查看服务器IP
ifconfig     //在inet addr后面显示的就是服务器ip

# 使用Putty远程连接服务器
下载Putty——打开Putty.exe——在Host Name处输入 root@192.168.x.xxx  ——   点击Open连接
输入密码进入到服务器控制面版
(注:root为你装系统时设定的登录用户名)

3.3 增强服务器的安全性

对于远程服务器的安全性可以的解决方案
1. 改远程服务端口
2. 在使用了本地私钥进行无密码登录的情况下,可以禁止PermisstRootLogin
- 例:改远程服务端口

# 打开ssh的配置文件进行编辑
sudo vim /etc/ssh/sshd_config

# 系统会提示输入密码

# 在Port处修改端口号
:wq! //完成编辑并保存退出

3.4 使用sftp工具远程查看服务器文件

在配置好以上文件后,最后一步通过sftp工具实现远程访问文件夹,将本地的项目传送到远程服务器上了。
参考图形化工具:WinScp,Filezilla

# 以WinScp为例
# 1、下载安装(百度就有)
# 2、新建会话
# 3、输入服务器主机地址及端口,以及登录用户名
# 4、根据提示输入密码连接
# 5、连接成功后——左边为本机目录,右边则为服务器文件夹目录
# 6、新建一个www文件夹用于存放网站项目(以后的项目都可以放到此目录下)
    sudo mkdir www
    cd www
# 7、查看文件夹权限(默认只有root用户可以读写该文件夹,所以当前用户需要修改文件夹必主)
    chown user www  #user为当前用户的用户名
# 8、当前用户有了www的读写权限后,使用express创建一个简单的node服务应用
    express test
    cd test
    npm install
    npm start
# 9、在浏览器中访问服务器IP:port,当能够访问时表示此应用搭建完成

winscp效果图

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sophie_U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值