虚拟机模拟Linux服务器

虚拟机模拟Linux服务器

二月 07, 2020 阅读量

虚拟机模拟Linux服务器

通过虚拟机简单模拟通过SSH远程连接Linux服务器,实际上服务器需要很多配置,比如安全方面。

环境准备

  • 服务器(虚拟机) VMware(习惯用这个但是收费,可以用免费的VirtualBox)
  • Linux操作系统:deepin-15.11-amd64(下的最新版的深度系统,amd?我intel的cpu)
  • 连接工具:MobaXterm(Putty,TeraTerm,Xshell都可以),
  • 文件传输:FileZilla Client(或WinSCP)

服务器搭建

  1. 虚拟机安装(略)

    下载完镜像,挂载安装就好了。查看宿主机能否ping通虚拟机(我装完就是通的),如果不能,调整虚拟机网络设置。
    这里可以在linux里手动设定ip,我因为是动态获取的,后来ip自己变了。但是手动后发现有时候网络不通,导致后面的npm install安装不了……

  2. Linux配置
    查看是否安装了openssh-server服务(新装deepin系统没有),刚开始跑偏了,用yum来装的,发现没有yum命令,就用sudo apt-get来安装yum,然后发现yum没有已启用的仓库(需要配置yum仓库)……。

    apt-get 与 yum安装区别:
    Linux一般分为两大类
    RedHat系列:Redhat、Centos、Fedora等 安装包格式 rpm包 包管理工具 yum
    Debian系列:Debian、Ubuntu、Deepin等 安装包格式 deb包 包管理工具 apt-get

⬇从这开始⬇

deepin新建用户非root用户,如需要root权限需要执行sudo passwd root设置root密码激活

安装SSH服务

1
sudo apt-get install openssh-server

更改配置文件,这里只改了默认端口Port 22(不安全最好改,可以忽略)

1
vim /etc/ssh/sshd_config

vim文本编辑器 输入模式(ESC键退出)

i光标所在字符前开始插入
a光标所在字符后开始插入
o光标所在行的下面另起一新行插入
s删除光标所在的字符并开始插入
I光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A光标所在行的行尾开始插入
O光标所在行的上面另起一行开始插入
S删除光标所在行并开始插入

vim保存退出

:q 回车退出
:w 保存
:wq 保存退出
! 强制,比如 :q! 改动过:q会提示已修改但尚未保存(可用!强制执行)
:e!恢复上次编辑保存的文件状态

修改配置文件后需要重新启动服务

1
sudo /etc/init.d/ssh restart

另外可以安装带用户界面的防火墙sudo apt-get install gufw(deepin默认没有, ufw不带用户界面)来增加安全性

  1. 远程连接Linux
    在MobaXterm中新建session,输入IP地址,用户名,端口后点OK连接。

    然后根据提示输入密码,效果如下,我通过“远程”在桌面新建了一个linkstart的文件夹。

    另外SSH建立成功可以直接使用sftp来传输文件。

搭建FTP服务器

这个不知道啥原因,晚上弄了好久也没弄成功,第二天重新装了vsftpd就自己好了(现在怀疑是ip地址变了)……

  • 安装vsftpd

    1
    sudo apt-get install vsftpd
  • 配置主配置文件

    1
    vim /etc/vsftpd.conf

配置有很多(不是很了解),这里只改默认端口21为1121,文件末尾增加listen_port=1121即可。
如何想要上传文件,需要把write_enable=YES注释#去掉。

  • 修改标准端口
    1
    vim /etc/services

把21端口改为1121

  • 重启服务
    1
    /etc/init.d/vsftpd restart

然后就可以通过ftp来连接了。


服务器部署(Hexo博客)

简单地在linux里装了Hexo的环境,这个要根据实际情况来部署Tomcat之类。
因为Hexo基于Node.js,先在本地下载好Linux Binaries (x64)的安装包,通过ftp上传到Linux服务器。
cd到上传目录,通过tar命令解压。

1
tar xf node-v12.15.0-linux-x64.tar.xz

进入到解压后的文件夹,设置node和npm为全局变量(软链接,前面是解压文件位置)

1
2
ln -s /home/xuchunlei/Desktop/linkstart/ftp/node-v12.15.0-linux-x64/bin/node /usr/local/bin/node
ln -s /home/xuchunlei/Desktop/linkstart/ftp/node-v12.15.0-linux-x64/bin/npm /usr/local/bin/npm

Linux链接分两种

硬链接(Hard Link),通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。
ln f1 f2 #创建f1的一个硬连接文件f2,f1和f2节点相同

符号连接(Symbolic Link),也叫软连接,类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
ln -s f1 f3 #创建f1的一个符号连接文件f3,f1和f3节点不同

安装Git和Hexo,设置hexo为全局变量

1
2
3
sudo apt-get install git
npm install hexo-cli -g
ln -s /home/xuchunlei/Desktop/linkstart/ftp/node-v12.15.0-linux-x64/bin/hexo /usr/local/bin/hexo

新建hexo项目linuxtest,并启动

1
2
hexo init linuxtest
hexo s

效果图(ip地址变了,手动设定一直有问题)

其他写过的Linux文章

纸上得来终觉浅–Linux从复习到放弃
某码农的代码碎片3 10、Linux删除bin目录修复