IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 在阿里云上部署nodejs服务 + https -> 正文阅读

[系统运维]在阿里云上部署nodejs服务 + https

准备

1.备案域名
2.阿里云服务器
3.node.js环境

开始

1. 创建ECS云服务器实例

(1)所有配置可以选最低即可(省钱)
(2)主机选取: CentOS 7.9.*位
(3)创建完成后,在实例列表中重置实例密码&远程连接密码,修改完之后重启实例
重置密码

2. 用MotaXterm连接web服务器

创建连接
创建session

输入密码显示连接成功连接成功

3. 部署node.js

3.1 环境准备

  • 确认cd /opt/software 目录是否存在,没有的话创建该目录
  • 安装node
// 安装
wget https://nodejs.org/dist/v15.11.0/node-v15.11.0-linux-x64.tar.xz
//解压:
tar xvJf node-v15.11.0-linux-x64.tar.xz
//删除二进制包:
rm -rf node-v15.11.0-linux-x64.tar.xz
  • 配置环境变量
//编辑环境变量文件:
vi /etc/profile
export PATH=$PATH:/opt/software/node/bin/

// 保存环境变量
source /etc/profile
  • 检查安装版本
node -v
npm -v
  • 安装cnpm镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org

3.2 上传项目并启动

3.2.1 创建项目

mkdir testApp
cd testApp
npm init -y

package.json 配置如下

{
  "name": "testApp",
  "version": "1.0.0",
  "description": "",
  "main": "dist/index.js",
  "scripts": {
    "build": "tsc",
    "start": "tsc && node dist/index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@koa/cors": "^3.3.0",
    "@types/koa": "^2.13.4",
    "@types/koa-router": "^7.4.4",
    "koa": "^2.13.4",
    "koa-router": "^10.1.1",
    "koa-sslify": "^5.0.0",
    "typescript": "^4.6.3"
  },
  "devDependencies": {
    "@types/koa-sslify": "^4.0.3",
    "@types/koa__cors": "^3.1.1"
  }
}

创建 src/index.ts 内容如下:

import koa from "koa";
import router from "koa-router";
import cors from "@koa/cors";
import crypto from "crypto";

const app = new koa();
const t =  new router();
app.use(cors());
t.get("/", async ctx => {
  ctx.body = {
    code: 200,
    msg: "你好 按理云"
  }
});
t.get("/tt", async ctx => {
  ctx.body = {
    code: 200,
    mag: "你访问成功了噢"
  }
});
app.use(t.routes());
app.listen(5000, () => {
  return console.log('https server is running on 5000');
});

编译

tsc

3.2.2 运行

将编译好的 dist/index.jspackage.json 拖到 /home/testApp 目录下
上传项目

然后在命令窗口中执行

// 进入目录
cd /home/testApp
// 安装依赖包
npm install
// 启动
node index.js

3.2.3 配置安全组

配置安全组
配置规则
添加规则

现在可以访问 http://www.testwebhook.itwin365.cn

3.3 使用 pm2 启动多个项目

  • 安装
npm install pm2 -g
  • 启动
//进入第一个项目下
pm2 start index.js  --name my-server
  • 常用命令
命令解释
pm2 start index.js --name my-server启动并命名进程
pm2 list显示所有进行
pm2 stop my-server停止my-server这个进程
pm2 restart all启动所有进程
pm2 delete my-server删除某个进程
pm2 show my-server查看某个进程的详情信息
pm2 logs查看日志信息

4. 绑定域名

4.1 申请域名

登录阿里云 -> 域名解析
如果有备案的域名未绑定的,可直接用;如果备案的域名已绑定,可以创建二级域名使用。以下介绍后者方法的使用。
域名解析
申请二级域名

4.2 下载证书

验证完成之后域名后,申请该域名证书并下载。
申请证书

5. 安装Nginx,配置HTTPS

//安装nginx
yum install nginx
//启动nginx
nginx 
//使用命令nginx -t查找nginx配置文件
并使用vi命令修改该配置文件
nginx -t
vi /etc/nginx/nginx.conf

将下载的 ssl 证书存放到 /root/cert 目录下

修改 nginx.conf ,配置 https

server {
        listen 443 ssl;
        listen [::]:443 ssl http2;
        root /home/index.html;
        server_name www.testwebhook.itwin365.cn;
        ssl_certificate /root/cert/testwebhook.itwin365.cn.pem;
        ssl_certificate_key /root/cert/testwebhook.itwin365.cn.key;
        location / {
                proxy_pass http://8.142.212.182:5000;
        }
    }

    server {
        listen 80;
        server_name www.testwebhook.itwin365.cn;
        root /home/index.html;
        location / {

        }
    }

现在可以访问 htps://www.testwebhook.itwin365.cn

常用的 Nginx 命令:

yum install nginx   //安装nginx
nginx //启动nginx
cd /etc/nginx  //进入nginx的安装目录
 ps -ef |grep nginx  // 查看nginx是否正常运行
 netstat -lntp  //查看所有被主机监听的端口 
nginx -s stop   //停止nginx
nginx -s reload  //重启nginx
//修改配置文件
nginx -t
vi /etc/nginx/nginx.conf
nginx -s reload
 //再配置一个端口
  server {
        listen 9090;
        server_name chen;
        root /home/html/chen;

        location /{
                
        }
    }

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 11:09:45  更:2022-04-23 11:10:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:06:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码