• 【重学Node.js 第5篇】部署项目到腾讯云服务器


    课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html
    项目github地址:https://github.com/hellozhangran/happy-egg-server

    通过前面的讲解,可以完成一个基本的node api服务了,接下尝试把项目部署到刚买的腾讯云上。

    登陆服务

    • 购买腾讯云容器,购买后会把账号信息通过腾讯云站内信发给你,里面有公网ip和初始密码,后面ssh登陆会用到。

    • 登陆云linux。本地Mac命令行输入:ssh root@xx.xx.xx.xx,根据提示输入密码即可。

    安装Node环境

    • cd && mkdir download && cd download

    • 下载node: wget https://nodejs.org/dist/v12.13.0/node-v12.13.0-linux-x64.tar.xz

    • 解压node文件:tar xvf node-v12.13.0-linux-x64.tar.xz

    • 把解压好的文件移动到/opt/node下:

      • mkdir /opt/node
      • mv ~/download/node-v12.13.0-linux-x64 /opt/node
    • 创建软连接:

      • ln -s /opt/node/node-v12.13.0-linux-x64/bin/node /usr/local/bin/node
      • ln -s /opt/node/node-v12.13.0-linux-x64/bin/npm /usr/local/bin/npm
    • 验证node与npm已经安装成功:

      • npm -v

      • node -v

    安装git

    • 安装: yum -y install git,这种安装方式快捷,但只能安装较低版本。下面安装新版本git

    • 删除已有git:yum remove git

    • 下载源码包: wget -O ~/download/git-2.21.0.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz

    • 安装编译依赖:yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

    • 解压:

      • tar -zxf ~/download/git-2.21.0.tar.gz
      • cd ~/donwload/git-2.21.0
    • 检验相关依赖,设置安装路径:./configure --prefix=/opt/git

    • 编译安装:make && make install

    • 配置PATH变量:

      • vi /etc/profile
      GIT_HOME=/usr/local/git
      export PATH=$PATH:$GIT_HOME/bin
      
      • source /etc/profile
    • 使用https的链接git clone代码是比较简单的,如果用ssh则需要在本地生成SSH Key,目前优先使用https的方式,但可能会报fatal: Unable to find remote helper for 'https',如果遇到该问题则:

      yum install curl-devel
      # cd to wherever the source for git is
      cd /usr/local/src/git-1.7.9  
      ./configure
      make
      make install
      

    安装mongodb

    • 下载源码:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz,事实证明,wget比curl下载快多了,curl应该适合做请求不适合下载包。看到很多教程用curl下载mongo包,说明一下。

    • 解压:tar -zxvf mongodb-linux-x86_64-4.0.9.tgz

    • 移动到合适目录 mv mongodb-linux-x86_64-3.0.6 /opt/mongodb

    • 配置PATH:vi /etc/profile

    • 创建配置文件:cd /opt/mongodb && touch mongodb.conf 输入:

      # Store data in /opt/mongodb/data instead of the default /data/db
      dbpath = /opt/mongodb/data
      
      # Append logs to /opt/mongodb/log/mongodb.log
      logpath = /opt/mongodb/log/mongodb.log
      logappend = true
      
      # Only accept local connections
      bind_ip = 127.0.0.1
      
      

    其中的data目录与mongodb.log文件要自己手动创建

    • 启动mongod服务:mongod --config /opt/mongodb/mongod.conf &,后面加&是为了服务在后台运行

    安装pm2

    • 安装:npm install pm2@latest -g

    • 启动node:pm2 start express/app.js

    • 重启:pm2 restart express/app.js

    • 开启监控模式:pm2 monit

    • 通过配置文件启动:pm2 start pm2.json

      • 可以配置console.log等收集到日志文件
      • 配置开启的实例数,pm2通过多个实例做负载均衡
      • 详细可查看本项目中的pm2.json文件

    试一下你的服务

    • 在本地启动node后通过localhost:3000访问,而在腾讯云启动后就要通过腾讯云的ip:3000访问了

    • 后面可以通过配置nginx把3000端口号抹去,不过现在可以通过蹩脚的方式拿到自己腾讯云服务器上的接口了。

    技巧篇

    参考:

  • 相关阅读:
    leetcode[9]Palindrome Number
    leetcode[10]Regular Expression Matching
    leetcode[11]Container With Most Water
    leetcode[12]Integer to Roman
    leetcode[13]Roman to Integer
    leetcode[14]Longest Common Prefix
    leetcode[15]3Sum
    leetcode[16]3Sum Closest
    leetcode[17]Letter Combinations of a Phone Number
    leetcode[18]4Sum
  • 原文地址:https://www.cnblogs.com/zhangran/p/12066787.html
Copyright © 2020-2023  润新知