第一篇教程紧紧让你输出一个hello world

环境介绍

服务器环境:ubuntu(16.04)64位

本地环境:windows10 64位

连接工具:mobaxterm

ubuntu安装和基本配置

我的ecs是在阿里云买的,购买的时候镜像选择ubuntu16.04,现在在搞活动比较便宜,我买的香港地区的不用备案,购买后本地打开mobaxterm,点击session,输入ip确定,输入root,然后输入密码,会看到下面的界面:

连接远程服务器,接下来我参考了阮一峰老师的这篇文章

addgroup wmui添加用户组

useradd -d /home/wmui -s /bin/bash -m wmui创建wmui用户

passwd wmui设置密码,如果忘记密码,也可用此命令重置密码

usermod -a -G wmui wmui 添加用户到组

visudo 设置sudo权限

然后会跳转到下面页面

root ALL=(ALL:ALL) ALL下面添加wmui ALL=(ALL) NOPASSWD: ALL

ctrl+x保存退出

接下来打开一个新的窗口,测试是否登陆成功

ssh无密码登陆配置

首先你需要在本地安装git并生成id_rsa.pub,打开命令行

在本地生成公钥和私钥:

ssh-keygen -t rsa -b 4096 -C "1719442545@qq.com"

在服务器生成公钥和私钥:

ssh-keygen -t rsa -b 4096 -C "1719442545@qq.com"

在服务器窗口输入:

echo "[your public key]" > ~/.ssh/authorized_keys将本机的公钥拷贝到服务器的authorized_keys文件



完成以上操作,测试是否生效,重启服务:sudo service ssh restart新打开一个窗口,输入用户名回车,登陆成功

安全项配置:

我在搭建时候没有设置这一项,所以没有测试这项

编辑SSH配置文件/etc/ssh/sshd_config:修改port为1025到65536之间的任意一个整数

在末尾添加: AllowUsers [username]

此时登陆时需要端口号: -p [25000] [username]

fail2ban系统监控软件安装:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install fail2ban

sudo service fail2ban status 查看fail2ban运行状态

sudo service fail2ban stop 关闭fail2ban

sudo service fail2ban start 开启fail2ban

nodejs环境搭建

安装常用软件

sudo apt-get install vim openssl build-essential libssl-dev wget curl git

nvm安装

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

打开新的窗口

nvm install node v8.1.3

nvm use node v8.1.3

nvm alias default v8.1.3 默认版本

安装常用node包

npm i pm2 webpack vue-cli -g

nginx服务器代理设置

sudo apt-get install nginx 通过nginx -v查看版本号

打开/etc/nginx/conf.d/文件夹,创建配置文件test-8081.conf,内容如下:

upstream hello {
server 127.0.0.1:8081;
} server {
listen 80;
server_name hello.86886.wang; location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Nginx-proxy true;
proxy_pass http://hello;
proxy_redirect off;
}
}

解析你的域名到你的服务器ip,例如解析hello.86886.wang

sudo nginx -t 查看是否配置成功

sudo nginx -s reload 重启服务器

注意:我在第一次配置的时候遇到了黄色警告,但是不影响使用,如果你也遇到了,向下面一样解决

打来etc/hosts,在127.0.0.1 localhost下面添加127.0.1.1 iZj6cas9txr6crspqecn4zZ其中 iZj6cas9txr6crspqecn4zZ是你的ecs实例名称



ok完成以上操作,接下来开始写hello world

创建和部署hello world

以root用户身份在根目录下创建www目录,www目录下创建hello文件夹,里面就一个文件,hello.js,内容如下:

const http = require('http')
http.createServer(function(req,res) {
res.writeHead(200,{'Content-Type':'text/plain'})
res.end('hello world')
}).listen(8081) console.log('server test')

进入到www下hello文件夹下

hello world测试:

pm2 start hello.js

pm2 list 查看启动的应用

pm2 show hello 查看详细信息

pm2 logs 查看当前信息

pm2 stop hello 停止hello

pm2 delete hello 删除hello



如图所示表示启动成功,输入hello.86886.wang就可以看到hello world了

接下来计划:

nodejs服务器部署教程二:部署一个基于vue的项目到线上

nodejs服务器部署教程三:部署基于nodejs+vue+mongodb的项目

nodejs服务器部署教程四:实现https

nodejs服务器部署教程一的更多相关文章

  1. nodejs服务器部署教程四

    nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请ssl证书 免费申请的机构有 ...

  2. nodejs服务器部署教程二

    这篇文章主要介绍如何在服务端跑vuejs的项目,如果上一篇教程你成功输出了hello world,那这一篇更简单 首先你要有一个已经能在本地跑的基于vuejs的项目,我就以之前写的仿饿了么的项目为例来 ...

  3. nodejs服务器部署教程三

    安装mongodb数据库 如何在ubuntu上安装mongodb数据库,其实官方文档写的很清楚啦 sudo apt-key adv --keyserver hkp://keyserver.ubuntu ...

  4. 搭建前端监控系统(三)NodeJs服务器部署篇

    ===================================================================== 监控系统预览地址: DEMO地址    GIT代码仓库地址 ...

  5. 将nodejs代码部署到阿里云服务器

    概述 最近在做一个小项目,其中用nodejs做了个数据转发的接口,之后需要将这部分代码部署到服务器上面,并使用Nginx做反向代理.期间使用搜索引擎大量查阅了其他同鞋的经验,不过写的大多很笼统,因此踩 ...

  6. Cobalt Strike使用教程一

    Cobalt Strike使用教程一     0x00 简介 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器.自3.0以后已经不在使用Metasploit框架而作为 ...

  7. NodeJS系列-部署

    NodeJS系列-部署 NodeJS我就不介绍了,被标题吸引进来的人可以看这个链接,了解NodeJS.下来就开始关于NodeJS开发的指南. NodeJS可以部署的平台有Windows,Unix,iO ...

  8. 轻松创建nodejs服务器(1):一个简单nodejs服务器例子

    这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下   我们先来实现一个简单的例子,hello world ...

  9. 轻量级服务器部署方案 -(阿里云CenOS+宝塔)

    一台服务器部署多个应用.可部署前端工程.node服务.数据库等. 一.服务器选择合适的服务器,购买即可.服务器商1.阿里云 2.腾讯云 3.百度云 二.服务器管理面板-宝塔宝塔面板是一款服务器管理软件 ...

随机推荐

  1. QueenPuzzle-N皇后问题

    详见-算法之美-p180. #include <iostream> #include <memory.h> #include <conio.h> #include ...

  2. iOS 实时音频采集与播放Audio Unit使用

    前言 在iOS中有很多方法可以进行音视频采集.如 AVCaptureDevice, AudioQueue以及Audio Unit.其中 Audio Unit是最底层的接口,它的优点是功能强大,延迟低; ...

  3. layer mobile 指定URL连接 弹全屏

    var url_a = $("#"+id).attr("alt"); //打开新页面 var pageii = layer.open({ type: 1, bt ...

  4. 遍历QMap引发异常处理

    引言 用常规方法遍历QMap,删除满足条件元素时出现“读取位置0xXXX时发生访问冲突”.查看“调用堆栈”指向QMap<int,int>::iterator::operator++()和Q ...

  5. Encapsulating Data 数据封装

    Objective-C中类的封装本质上其他OO语言没什么区别,不过在概念和书写表达上差异还是比较大的, Property属性 这里的Property并不是简单的类成员变量,而是OC中特有的可以为编译器 ...

  6. “System Volume Information”文件夹里的NTFS木马(安全问题)

    病毒保护伞 原因:由于NTFS的分区里该目录只有SYSTEM权限,导致杀毒软件没有权限查杀藏匿于该目录的病毒.(现在大多数软件都能查杀) 解决方案:阻止“System Volume Informati ...

  7. MFC绘图小实验(1)

    这学期开了一门计算机图形学的课程,感觉蛮有趣的,所以想把书上的那些样例程序都实现一遍,了解基本的绘图原理和要点. 1,使用用户自定义的映射模式,设置窗口大小和视区相等的二维坐标系.视区中x轴水平向右为 ...

  8. 切图psd to html页面制作技术学习与总结

    切图流程和注意事项 切图的正确流程做法是: 1 写框架.拿到psd后,先不要做别的,直接在文本编辑器中将网页的框架写出来,不要假设这块将来css要去怎么渲染,完全自然化的标签,不加任何的css. 2 ...

  9. 用不上索引的SQL语句

    下面介绍六种建立索引后不起作用的sql语句. 1.使用不等于操作符(<>, !=) SELECT * FROM dept WHERE staff_num <> 1000; × ...

  10. jQuery回调、递延对象总结

    jQuery回调.递延对象总结(上篇)—— jQuery.Callbacks jQuery回调.递延对象总结(中篇) —— 神奇的then方法 jQuery回调.递延对象总结(下篇) —— 解密jQu ...