通过两天的上手使用我认识到,使用一个ECS中的镜像系统需要以下几个基础步骤:

1.选择镜像包并安装。

2.通过PUTTY等软件来访问命令行模式系统。

3.设置安全组,使得公网IP可以被访问。

4.安装图形界面和VNC包,可以通过VNC等软件访问图形界面。

5.更换时需要将已有镜像包,添加快照,从而创建自定义镜像,并选择其他镜像包更换。

下面具体详解

CENTOS6.5

这是我安装的第一个镜像版本,也是阿里云官网上有视频教程的版本。

第一次选择时没有设置密码就安装了镜像,发现之后赶紧设置了密码。随后发现无法使用SSH方式进入,原来设置密码后需要重启才能进入。

重启后进入成功,通过原有的PUTTY以SSH形式访问,端口22,需要输入公网地址。随后进入PUTTY界面,输入用户名和密码进入命令行模式。

教程推荐使用FileZilla通过sftp的方式传输管理文件,并且建议将Windows默认的文本编辑器改为vscode,这点确实很有必要。

随后,设置了安全组,并且暂且开放所有端口并允许所有IP访问。

下面是激动人心的一幕:为系统安装图形界面!我们选用了Gnome桌面+VNC一键包,并且设置了VNC连接密码,教程推荐了vnc viewer作为连接软件,实测比较好用。注意安装过程中要设置VNC密码。

yum update && yum install wqy-microhei-fonts
wget https://gist.githubusercontent.com/ivmm/d93138038edbd551def09205bb61ae11/raw/
8ed82411926acb3ab331d293f6200447ad2c85cf/gnome_install.sh && bash gnome_install.sh

然后我们就可以用VNC方式连接CENTOS的图形界面辣,还可以在安卓手机和平板上连接,简单实用。

安卓手机的SSH连接软件我使用了juiceSSH,界面友好且美观,很好用。

至于VNC软件,我随便下载了一个bVNC,不太好用,但是也勉强,不知道微软的Microsoft Remote Desktop能否当做VNC使用。(实测不能,都不是一种连接方式)

进入图形界面,打开命令行,突然发现字体重叠,上网搜索发现是字体问题导致的,于是下载了一个新的字体,更换了字体之后就正常了,顺带说一下,也就是新字体宽一点而已。

CENTOS自带的python2.7,所以需要自己安装python3.6,这里安装的方式简述如下。

https://blog.csdn.net/u014749862/article/details/54429756

这一篇博文很好的说明了如何安装python3.6以及可能发生的问题。

WINDOWS SERVER2019

WINDOWS系统简直差点折磨死我了,我一直无法用SSH的形式连接上去,VNC也不行,只能用官方的远程桌面连接了,进入后首先需要开启远程控制,并且关闭浏览器保护模式(差点烦死我了),这样就可以随意安装第三方软件了。

然后可以安装SSH服务组件,虽然安装了也没连上。

随后设置安全组,将RDP,SSH,HTTP都勾上,范围填0.0.0.0/0

下载Microsoft Remote Desktop,就可以在电脑和手机端都连接上桌面了。

至于ssh我还是没有解决。。。。。。。

过两天来看,WIN可以说最省心了,但是也确实没啥用。。。。

UBUNTU16.04 LAMP环境 PHP5.4.45

这是我用的第一个LAMP环境,初始使用没有遇到太大问题。

首先,我安装了一个桌面环境xfce,和之前用过的双系统中的UNITY桌面有很大不同,不过也勉强够用。可以参考以下帖子。

https://blog.csdn.net/qq_33062317/article/details/80050325

这方面的帖子真是乱。。。最开始装过一个UBUNTU16.04,照着一个帖子安装桌面,结果VNC登不进去,后来发现那个帖子根本没有装VNC服务,连密码都没有,又谈何进入,铁憨憨一个。

接下来按照教程安装NEXTCLOUD,说来这个安装包还是我可耻的花钱从CSDN上下载的,CSDN属实鸡贼啊。NEXTCLOUD官网的速度慢,而且还容易下载错误功亏一篑。

下载完成解压完成上传完成,这个时候出大问题了,这个环境PHP版本为5.4.45,我下载的最新版本需要PHP7.2,我心存侥幸,想通过升级PHP方法解决问题,结果升级了一宿也没好,PHP下载的那个网站太慢,好不容易折腾好了,结果切换不了PHP版本,一直显示原来的版本。

我终于下定决心更换LAMP了。

UBUNTU18.04 LAMP环境 PHP7.2

顺利安装了NEXTCLOUD一点问题也没有~~

接下来安装图形界面,这里仍然可以参考上面的帖子,但是安装好了居然打不开命令行,我左思右想,还是想到有可能是配置文件有问题,毕竟上个帖子针对的是UBUNTU16.04。

上面的帖子配置文件操作需要修改如下。

开启VNC服务

vncserver :1

关闭VNC服务

vncserver -kill :1

然后修改配置文件

vi ~/.vnc/xstartup

将整个配置文件修改为

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

即可

随后重启再开启VNC

vncserver :1

好了,大功告成,甚至还比16.04的界面更好看了(虽然实际都丑)。

安装leanote

本来以为一个云服务器只能运行一个应用,后来发现通过不同的端口可以访问不同的应用,可以说很妙了。

下面附安装leanote教程。

  1. 下载安装MongoDB
cd /home
# 下载源码
wget http://labs-1253675457.cosgz.myqcloud.com/mongodb-linux-x86_64-3.0.1.tgz
# 解压缩源码
tar -xzvf mongodb-linux-x86_64-3.0.1.tgz
  1. 创建用于存储的文件夹目录
mkdir -p /data/db
  1. 配置MongoDB的环境变量,编辑/etc/profile,在文件末尾追加配置
export PATH=$PATH:/home/mongodb-linux-x86_64-3.0.1/bin

执行下面命令,使环境变量生效

source /etc/profile
  1. 启动MongoDB
mongod --bind_ip localhost --port 27017 --dbpath /data/db/ --logpath=/var/log/mongod.log --fork
  1. 安装Leanote
cd /home
# 下载源码
wget http://labs-1253675457.cosgz.myqcloud.com/leanote-linux-amd64-v2.4.bin.tar.gz
# 解压缩
tar -zxvf leanote-linux-amd64-v2.4.bin.tar.gz

编辑Leanote配置文件

vim /home/leanote/conf/app.conf

修改**app.secret=**为以下内容

app.secret=qcloud666

初始化数据库

mongorestore -h localhost -d leanote --dir /home/leanote/mongodb_backup/leanote_install_data/

启动Leanote服务

nohup /bin/bash /home/leanote/bin/run.sh >> /var/log/leanote.log 2>&1 &

接下来通过IP访问leanote。

访问http://[IP]:9000
- 初始化账号: admin
- 初始化密码: abc123

服务器重启之后如何初始化leanote服务,执行下面两行。

mongod --bind_ip localhost --port 27017 --dbpath /data/db/ --logpath=/var/log/mongod.log --fork
nohup /bin/bash /home/leanote/bin/run.sh >> /var/log/leanote.log 2>&1 &

安装jupyter notebook

可以参考以下帖子

https://www.jianshu.com/p/e832d12d034b

服务器端启动命令(这个命令要求终端必须一直打开)

jupyter notebook --allow-root

那么有没有让程序在后台能一直执行的启动命令呢?有,并且和leanote的惊人的相似(说来我只是不懂leanote为什么要这么写罢了)

nohup jupyter notebook --allow-root > jupyter.log 2>&1 &

解释: 1. 用&让命令后台运行, 并把标准输出写入jupyter.log中。

  • nohup表示no hang up, 就是不挂起, 于是这个命令执行后即使终端退出, 也不会停止运行。

那么如何终止进程呢?

  1. ps -a, 可以显示这个进程的pid.

  2. kill -9 pid 终止进程

安装jupyterlab

参考以下文章

https://blog.csdn.net/ds19991999/article/details/83663349

服务器启动命令

nohup jupyter lab > jupyterlab.log 2>&1 &

如何查找已经后台程序并结束进程再重启呢?

pstree #树状图方式列出当前正在执行的程序

找到自己想要的程序名再:

pgrep <进程名>

从而找到PID,最后:

kill <PID>

如何扩展安装插件呢?

jupyter labextension list    #查看已经安装的扩展及其状态
jupyter labextension install @mflevine/jupyterlab_html --minimize=False
#安装一个扩展jupyterlab_html,支持html预览
#这里请注意最后增加了--minimize=False的选项,如果没有这个选项则容易安装失败,原因是内存限制
jupyter labextension uninstall @mflevine/jupyterlab_html
#卸载扩展
jupyter labextension update --all
#更新所有扩展

VNC 崩溃了怎么办

重启VNC服务,执行以下两条命令

vncserver -kill :1
vncserver :1

关闭防火墙

血泪史,开了防火墙结果登不上去了,最后还是通过管理界面的VNC服务登陆上去的。

警告:打开防火墙可能导致无法登陆系统。

应急条件下关闭防火墙(如果能登陆上去):

ufw disable

折腾机器学习环境

由于阿里云已经贴心的把下载镜像换成了阿里云自己的镜像,所以使用起来方便很多。

本环境使用的是LAMP(Ubuntu18.04 PHP7.2),python3.6

安装tensorflow

sudo apt-get install python3-pip python3-dev
sudo pip3 install tensorflow #目前默认安装的是1.14.0版本

请务必注意,tensorflow2.0版本和1.x版本有很大不同,语法有很大改变。

如果想安装2.0版本,使用如下命令:

pip3 install tensorflow==2.0.0-alpha0

安装numpy,scipy,matplotlib

sudo apt-get install update
sudo apt-get install upgrade
sudo apt install python3-pip
sudo pip3 install numpy
sudo pip3 install scipy
sudo pip3 install matplotlib
sudo apt-get install python3-tk
pip3 install matplotlib

安装opencv

sudo apt install libopencv-dev
sudo pip3 install opencv-python

让服务器后台运行python test.py。

nohup python -u test.py > test.log 2>&1 &

这适用于较小算力的机器学习,并且由于通过SSH就可以执行操作,我们可以让神经网络的训练随时开始。

阿里云ECS使用指南相关推荐

  1. 阿里云服务器购买指南(适合新手小白的图文指导教程)

    阿里云服务器有一键购买,自定义购买,也可以通过各种活动优惠购买,每种购买方式都有自己的适合场景,也都有各自的利与弊,不管哪种购买方式都有很多需要注意的地方,下面是这些购买方式的具体图文教程及注意事项, ...

  2. 阿里云ECS训练营第三天——微信公众号管理系统

    阿里云ECS训练营第三天--微信公众号管理系统 提前需要准备的系统环境和安装包 LAMP系统环境 微擎安装包 MobaXterm终端 操作流程 Step1 查看LAMP环境是否成功启动 Step2 微 ...

  3. 阿里云ECS服务器部署Node.js项目详细教程及多网站部署

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  4. 云主机配置微信公众号后台全记录 --【 阿里云ECS CentOS7 + Python3 + Flask + Nginx + Gunicorn + WeRoBot + Systemd 】

    前言 在天秤座的纠结性格反复权衡后,最终我还是拥有了自己的第一个个人云主机.我这里选择的是"阿里云学生专享服务器",在做学生的最后一年有幸享受到9.5/月的优惠价格,还是要感谢阿里 ...

  5. 阿里云ECS服务器部署Node.js项目全过程详解

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  6. 阿里云ECS云服务器已停售的实例规格列表汇总

    阿里云ECS云服务器实例规格更新迭代,目前阿里云已经推出第六代ECS云服务器,InstanceTypes分享阿里云ECS云服务器已停售的实例规格族列表: ECS云服务器已停售的实例规格 目前阿里云已停 ...

  7. 在阿里云ECS服务器上面开启tomcat服务并且正常后,无法访问怎么办?原来是没有开通外网访问的端口

    您一定是没有开启阿里云ECS后台的端口权限 如果不担心安全问题,直接把所有端口都开通吧,简单粗暴!!!直接在端口范围填写1/65535 注意!有部分Linux CentOS服务器需要重启执行reboo ...

  8. 使用jvisualvm远程监控tomcat(阿里云ECS)

    写在前面:  使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:jndi/rmi:IP:端口//  连接到 IP:端口,网上找了很多资料,未能解决 ...

  9. 阿里云ECS架设***过程总结

    原文地址: 最近开发移动项目,数据库服务是架设在电信服务器上,可怜我的联通网络本地调试直接x碎了一地!! 度娘相关资料后,最终决定在阿里云ECS上架设×××作为跳板来访问电信服务器! 一.原理 1.阿 ...

最新文章

  1. MySQL8.0索引新特性:颠覆了我对索引的认知
  2. Ubuntu添加硬盘实验
  3. Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds...
  4. Powershell管理系列(三十九)PowerShell查询和解锁AD账号
  5. [Ubuntu] ThinkPad T410i linux下如何调节亮度
  6. 【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1
  7. android下创建文件夹和修改其权限的方法
  8. 华为畅享max有没有人脸识别_华为畅享7s有人脸识别吗 让我来告诉你
  9. mac下,vagrant桥接,选择“en0: 以太网”无法启动虚拟机解决方案
  10. 海量数据挖掘MMDS week5: 计算广告Computational Advertising
  11. QT应用编程: windows下QT调用COM组件
  12. java解决合并两个有序链表问题
  13. Office2016安装后回滚 错误代码1935
  14. pug跳转到另一个pug_使用Pug减少多页HTML开发的负担
  15. vsftpd的安装和使用
  16. html中的==$0是什么意思
  17. Cisco ❀ IPV4协议数据报头部
  18. 【linux kernel】linux内核如何唤醒线程
  19. axure变成一个小手了_Axure教程:这几个小技巧你一定要知道
  20. 99%的人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系

热门文章

  1. 计算机一级怎么截图保存到桌面,电脑怎么截图?截屏?(四种方法),划重点了...
  2. 显示器不亮电源灯闪_电脑开机显示器指示灯一闪一闪的屏幕就是不亮
  3. Android条形码带数字,android – 使用条形码数字获取名称,价格等产品信息
  4. Python中的变量
  5. R-FCN论文解读及难点理解
  6. 计算机大神专业小说,5本高人气系统流小说,无敌满足你,一路爽到底,全部是大神出品...
  7. 2019年CSDN排名前10名大神
  8. 《C语言程序设计》单元总结与练习题
  9. Fix ‘Clearing orphaned inodes’ on Ubuntu
  10. 电脑提示MSVCP140.dll文件丢失的解决方法