学习服务端的操作

纯粹个人学习记录,很入门,很菜

  1. 登录服务器、添加新用户并授权
  # root用户登录
  ssh root@服务器ip地址
  
  # 以root身份登录服务器后,添加新用户
  # 添加之后会要求给这个用户设置单独的密码
  adduser will(填写一个你要添加的用户名)

  # 给新添加的用户授权
  gpasswd -a will sudo
  # 修改配置文件
  sudo visudo
  # 进入配置文件后
  # 在root下面给will用户添加相同的权限
  will ALL=(ALL:ALL) ALL
  # 按提示保存退出

  # 现在就可以使用新用户登入了
  1. 生成密钥和公钥,无密码登录
  # 在本机和服务器端使用相同的命令生成公钥和私钥
  # ls -a 可以查看生成了新的.ssh文件夹,里面包含了id_rsa  id_rsa.pub两个文件
  # cat id_rsa可以查看详情
  
  ssh-keygen -t rsa -b 4096 -C "你的邮箱" 

  # 1.启动代理
  eval "$(ssh-agent -s)"

  # 2.将密钥文件添加至代理中
  ssh-add ~/.ssh/id_rsa

  # 3.进入.ssh文件夹,生成授权文件
  vi authorized_keys

  # 4.进入后不做任何操作
  # shift+: 输入wq!
  # 此时在.ssh文件夹下生成了一个authorized_keys文件

  # 5. 从本地拷贝id_rsa.pub里的内容,粘贴到服务器的authorized_keys文件内

  # 6. 授权,修改这个文件的权限
  chmod 600 authorized_keys
  # 7. 重启ssh服务
  sudo service ssh restart
  1. 修改默认的服务器端口号

服务器默认端口号22,为增加安全性,需修改默认端口号

  # 修改sshd_config这个配置文件
  sudo vi /etc/ssh/sshd_config
  
  # 切记啊,先在Port 22下面添加Port 9000或其他端口号,这样能避免9000登陆失败时还能以22端口登陆

  # 修改端口号,并在最后添加用户,AllowUsers will
  # 保存退出,重启实例
  sudo service ssh restart
  
  # 重新登录服务器时需要加上新改的端口号
  ssh -p 9000 will@服务器ip地址

补充第三点:

如果是阿里云的服务器,修改端口还需要去阿里云的控制台做配置。
进入服务器实例页面 > 点击左侧安全组 > 点击实例的配置管理 > 点击克隆一个自定义TCP > 在弹窗里修改选择自定义TCP,并将端口号改成你给服务器配置的端口号,如9000/9000。后面使用node开启的任何服务,如果自定义了新的端口号,都需要重复这个操作,去阿里云控制台设置。

  1. 更换系统盘后本地连接不上服务器的解决办法

重置端口号后,连接不上服务器了,带参的-p,报连接超时错误。反正刚学,暴力点,直接清盘了,但是清盘后本地连不上服务器了。

用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,如果我们重新安装系统,其公钥信息还在,连接会出现如下截图情况

错误提示

解决方法:

ssh-keygen -R 服务器ip地址
  1. 更新服务器、基础工具安装
# 更新服务器
sudo apt-get update

# 安装多个文件
sudo apt-get install vim openssl build-essential libssl-dev wget curl git

# 安装nvm, 管理node版本
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

# 使用nvm安装最新稳定node版本
nvm install v8.11.1

# 更新npm至最新
npm install npm -g --registry=https://registry.npm.taobao.org

# 装一些环境,如webpack、gulp
  1. node项目服务管理、pm2

前面的几个步骤已经把node的环境搭建好了,在服务器的根目录可以自建个server.js,开启个服务,启动服务,本地就能使用服务器ip+端口访问该服务了

pm2, 是nodejs项目线上运行和进程管理的利器。无论终端关闭与否,该服务除非手动停止,否则一直运行。

# 安装
npm i pm2 -g
# 启动项目
pm2 start app.js
# 列出启动中的node服务
pm2 list
# 查看指定服务详情
pm2 show app
# 查看当前项目日志
pm2 logs
pm2生成的表格
  1. nginx代理
# 更新包列表
sudo apt-get update

# 安装nginx
sudo apt-get install nginx
# 查看nginx版本
nginx -v

# 添加配置文件
cd /etc/nginx
cd confd

# 在该路径下操作 /etc/nginx/conf.d
# 新增配置文件,名字规则域名+端口号
sudo vi yalingmai-cn-1100.conf

新增内容:
upstream yalingmai {
  server 127.0.0.1:你配置的服务器可用端口号
}
server {
  listen 80; // 需要监听的端口
  server_name 你的服务器ip地址; // 服务器名称, 最终实现的效果是,向该服务器地址访问的流量都会转向到upstream

  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://yalingmai;
    proxy_redirect off;
  }
}

# 保存退出后,可以使用下面的命令检查文件格式是否正确
sudo nginx -t
# 重启ngxin
sudo nginx -s reload
# 现在就能通过服务器ip在浏览器上直接访问node启动的服务了

# 修改下nginx.conf,这里的目的是避免服务器返回时头部信息带有服务器信息,现在只返回nginx
sudo vi nginx.conf
# 将下面的server_tokens off;打开,保存退出重启nginx
sudo service nginx reload
之前会带有服务器版本信息,现在通过设置只显示nginx
  1. dnspod使用和域名解析
    这个直接进入dnspod官网添加下就行

上面的部署已经可以实现静态页面的展示了,后面要加上动态效果,使用会配置mongodb实现动态数据管理

待完成...

  1. MongoDB
# 安装


遇到的问题:

  1. 连接服务器时报错:
    ssh_exchange_identification: Connection closed by remote host
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容