资讯专栏INFORMATION COLUMN

nodejs服务器部署教程一

Hegel_Gu / 1868人阅读

摘要:第一篇教程紧紧让你输出一个环境介绍服务器环境位本地环境位连接工具安装和基本配置我的是在阿里云买的,购买的时候镜像选择,现在在搞活动比较便宜,我买的香港地区的不用备案,购买后本地打开,点击,输入确定,输入,然后输入密码,会看到下面的界面连接远

第一篇教程紧紧让你输出一个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 v8.9.1
nvm use 8.9.1
nvm alias default 8.9.1 默认版本
安装常用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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83902.html

相关文章

  • nodejs务器部署教程四,部署ssl证书,升级为https

    摘要:服务器部署最后一篇文章,部署证书,升级为,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,分钟搞定,免费一年哦申请证书免费申请的机构有很多,我用的是腾讯云的,进入腾讯云官网,云产品的证书管理,可免费申请。 nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请s...

    Lin_R 评论0 收藏0
  • 【新手向 · 站式教程】利用DigitalOcean云务器部署Nodejs服务

    摘要:前言关于此教程作为一名业余开发者,因为公司都是做和的。。。建议采用的方式下载,可参考官方教程。但是服务的进程管理,即便对于初学者来说,也是必不可少的一课。 前言 关于此教程 作为一名业余Nodejs开发者,因为公司都是做Java和C++的。。。我是在没有任何人可请教的情况下,一个坑一个坑坚(ku)实(bi)地踩过来的。作为对segmentdefault社区的回报,把自己微不足道的经验分...

    用户83 评论0 收藏0

发表评论

0条评论

Hegel_Gu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<