Ubuntu

阿里云ECS 实例首次配置

简介:ECS实例配置:登录密码、用户及用户组、环境配置。

情景

第一次远程连接ECS实例,使用root用户无法登录ubuntu,不管输入什么密码,都会提示Login Incorrect,因为我并不知道root用户的密码。

首次配置ECS实例

创建完ECS实例后,收到一条短信:
【阿里云】尊敬的用户:您的云服务器ECS创建成功(实例名称:iZ2zees2pdrgl9xw41wp9dZ,公网IP:xx.xx.xx.xx)。系统用户名: root;若您忘记或未设置密码可进入ECS控制台-实例列表-重置密码。如您购买了数据盘请在实例创建后手动磁盘格式化分区,更多信息请查看站内信或邮件。

首次连接会提示6位远程连接密码,后面不再提示,需要记下来。远程连接后使用root用户登录系统时需要密码,而并我并未设置过root用户的密码,需要回到阿里云的ECS控制台,在云服务器ECS->实例->选择实例->将会进入到实例,点击“远程连接”旁边的更多,重置一次密码,需要手机短信验证,注意这里的密码修改的不是6位数字那个连接远程的密码,而是root账户的密码,密码修改成功后,需要重启实例,然后就可以远程连接和登录了。

配置网络安全组

我使用的是ecs默认的网络安全组,能满足httphttpsssh连接即可。

使用ssh密码登录ECS实例

这里使用root用户登录ecs实例

ssh root@公网ip

然后提示输入密码。

给ubuntu添加用户

由于实例系统默认的用户未root,权限太高,这里还是创建一个www-data组的用户更安全些。

  • sudo adduser xxx 这样的命令会在home目录下添加一个帐号
  • sudo useradd xxx 仅仅是添加用户, 不会在home目录添加帐号
  • sudo passwd 用户名 设置刚刚建立用户的密码
  • su 用户名 切换用户
  • 从普通用户切换到root用户,使用命令:sudo su

设置文件权限

在新建的普通用户(用户名ubuntu)下执行sudo命令报错:ubuntu is not in the sudoers file. This incident will be reported.

解决方法:在/etc/sudoers文件里给该用户添加权限。如下:
- 1.切换到root用户下

su root

- 2./etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是:
chmod u+w /etc/sudoers

- 3.编辑sudoers文件
vi /etc/sudoers

找到这行 root ALL=(ALL) ALL,在他下面添加
xxx ALL=(ALL) ALL

这里的xxx是我们的用户名

ubuntu安装add-apt-repository

# 更新镜像
sudo apt-get update
# 安装python-software-properties
sudo apt-get install python-software-properties
# 安装software-properties-common
sudo apt-get install software-properties-common

接下来就能用add-apt-repository了

ubuntu安装python3.6

Ubuntu16.04默认安装了Python2.7和3.5,但是我的项目是在mac系统调试完成,而mac系统安装了python3.6,为了两端保持调试一直,我决定把ubuntu上的python升级到3.6
请注意,系统自带的python千万不能卸载!

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
sudo apt-get install python3.6-dev

调整Python3的优先级,使得3.6优先级较高,python3的默认版本就是python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

更改默认值,python默认为Python2,现在修改为Python3,但是不建议更改
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

- 安装python3.6-gdbm
sudo apt-get install python3.6-gdbm

ubuntu python 虚拟环境安装及使用

可以按照在Ubuntu 上给 python 安装虚拟环境安装

Ubuntu安装和配置git

  • 安装git
    sudo apt-get install git
    

安装完成后输入git命令,尝试是否可用。

  • 配置git
    git config --global user.name git用户名
    git config --global user.email git邮箱
    

安装mysql

  • 通过apt安装

    sudo apt-get install mysql-server
    

    按照提示给mysql的root用户设置密码。

  • 为了解决OSError: mysql_config not found错误
    mysql_config是属于MySQL开发用的文件,而使用我们使用apt-get安装的MySQL是没有这个文件的,于是在包安装器(libmysqld-dev)里面寻找,所以我们安装libmysqld-dev即可解决。

    # 安装 libmysqld-dev
    sudo apt-get install libmysqld-dev
    

  • 安装mysql后的操作:
    通过apt这种方式安装好之后开机自启动都已经配置好,和命令行上的环境变量,无需手动配置。

  • 安装好之后会创建如下目录:

    • 数据库目录:/var/lib/mysql/
    • 配置文件:/usr/share/mysql(命令及配置文件) ,/etc/mysql(如:my.cnf)
    • 相关命令:/usr/bin(mysqladmin mysqldump等命令) 和/usr/sbin
    • 启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)
  • mysql测试

    # 服务启动后端口查询
    sudo netstat -anp | grep mysql
    # 服务管理
    # 启动
    sudo service mysql start
    # 停止
    sudo service mysql stop
    # 服务状态
    sudo service mysql status
    # 连接数据库
    mysql -h 127.0.0.1 -P 3306 -uroot -proot
    # `-h`为远程IP,`-P`为端口号,`-u`为用户名,`-p`为密码
    

安装nginx

  • 安装
    sudo apt-get install nginx
    

总结

在体验过过阿里云ECS 和 亚马逊的AWS后,ecs实例在安装一些包的时候总是time out,而aws实例则速度相当的快,毕竟有些包都是在国外的,另外aws的费用相对较贵。如果不是备案需求,我还是愿意使用aws。

推荐阅读

目录