当前位置: 首页 > news >正文

从零开始在ubuntu上搭建node开发环境

创建用户

(1) adduser username
(2) 授权 gpasswd -a txwg sudo

  配置 sudo visudo

(找到root ALL=(ALL:ALL) ALL 在下面添加 username ALL=(ALL:ALL) ALL)

增强服务器安全级别

1.sudo vi /etc/ssh/sshd_config

  • 修改端口 port

2.修改防火墙权限

  • 更新ubuntu sudo apt-get update && apt-get upgrade
  • 更新完之后清空防火墙规则 iptable -F
  • 写防火墙规则文件
*filter
# allow all connenctions
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#allow out traffic
-A INPUT -j ACCEPT
#allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 4200 -j ACCEPT
-A INPUT -p tcp --dport 8081 -j ACCEPT
# allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 6666 -j ACCEPT

#ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT


# log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7

#reject all other

-A INPUT -j REJECT
-A INPUT -j REJECT

COMMIT
                           
  • 调用防火墙规则(sudo iptables-restore < /etc/iptables.ip.rules)
  • 查看防火墙是否激活(sudo ufw status)
  • 激活防火墙(sudo ufw enable)
  • 设置开机自动启动防火墙规则

(sudo vi /etc/network/if-up.d/iptables)

#!/bin/sh
iptable-restore /etc/iptable.up.rules

(sudo chmod +x /etc/network/if-up.d/iptables)

  1. 安装fail2ban(主要监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。)

    • 安装 sudo apt-get install fail2ban
    • 配置信息 (sudo vi /etc/fail2ban/jail.conf)
    action = %(action_mw)s

### 配置node环境

  1. 安装包

    • 安装 (sudo sudo apt-get install vim openssl build-essential libssl-dev wget curl git)
  2. 安装nvm

    • wget -qO- https://raw.githubusercontent... | bash (注:安装之后如果不可以用,根据提示配置一下环境变量)
    • nvm node v9.0.0

nginx 反向代理

  1. 安装

    • sudo apt-get install nginx
  2. 配置

    • sudo vi /etc/nginx/conf.d/name-com-port
upstream txwg {
  server 127.0.0.1:8081;
}
server {
  listen 80;
  server_name x.x.x.x;
 
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Nginx-Proxy true;
    proxy_pass http://txwg;
    proxy_redirect off;
  }
}
  • 验证nginx 配置信息 (sudo nginx -t)
  • 重启nginx (sudo nginx -s reload)

相关文章:

  • 《CDN 之我见》原理篇——CDN的由来与调度
  • 汇编语言第三版答案(王爽)
  • RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密
  • 算法之不定期更新(一)(2018-04-12)
  • Java一行代码控制shape 优雅的解决 Drawable Shape 文件繁多问题
  • innerWidth outerWidth
  • 共享单车运营方不能“只管生不管养”
  • 多项底层技术发力,我国物联网大规模商用迎来窗口期
  • 概念大热的区块链,有这些值得关注的特性
  • Storm笔记整理(四):Storm核心概念与验证——并行度与流式分组
  • 公费出书流程
  • centos7 yum安装配置redis 并设置密码
  • 美元汇率 题解
  • MySql查询最近一个月,一周,一天
  • IDC:今年VR+AR市场规模将达到139亿美元
  • Cumulo 的 ClojureScript 模块已经成型
  • JS学习笔记——闭包
  • MD5加密原理解析及OC版原理实现
  • MobX
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • QQ浏览器x5内核的兼容性问题
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • SOFAMosn配置模型
  • Swoft 源码剖析 - 代码自动更新机制
  • 对超线程几个不同角度的解释
  • 构造函数(constructor)与原型链(prototype)关系
  • 机器学习 vs. 深度学习
  • 力扣(LeetCode)357
  • 聊聊sentinel的DegradeSlot
  • 面试遇到的一些题
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • postgresql行列转换函数
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #《AI中文版》V3 第 1 章 概述
  • $.ajax()
  • $GOPATH/go.mod exists but should not goland
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2)nginx 安装、启停
  • (2020)Java后端开发----(面试题和笔试题)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (二)linux使用docker容器运行mysql
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)WLAN定义和基本架构转
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @RequestBody与@ResponseBody的使用
  • [ C++ ] STL---string类的模拟实现
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [Angular] 笔记 18:Angular Router