背景

我正在做一个小项目,做好了打算上线,所有需要买个服务器,看了一圈,发现还是卖个vps合算。买了之后,进行了一些列的设置,这里记录一下,以便后面查看。

  • 系统: ubuntu
  • 内存:1G

一、更改时区

1. 运行tzselec
2. 选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing)
3. 复制文件到/etc目录下:cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
4. 更新时间:sudo ntpdate time.windows.com

注意:如果提示“sudo 无法解析主机名称”,解决办法:/etc/hosts中的127.0.1.1对应的值修改为/etc/hostname的值。

二、区域语言设置

  1. 编辑文件:sudo vi /var/lib/locales/supported.d/local

  2. 写入相关内容,比如写入如下内容:

    代码:
    zh_CN.UTF-8 UTF-8
    zh_CN GB2312
    zh_CN.GBK GBK
    en_US.UTF-8 UTF-8
    fr_FR ISO-8859-1
    zh_CN.GB18030 GB18030

    这个文件是所有已经激活的区域语言的列表

  3. 生成相关的locales:sudo locale-gen --purge

  4. 编辑文件:sudo vi /etc/default/locale:

    写入相关内容.比如,写入如下内容:
    
    代码:
    LANG="zh_CN.UTF-8"
    LANGUAGE="zh_CN:zh"
    LC_ALL="zh_CN.UTF-8"
  5. 完了重启电脑,终端中输入命令locale,看看命令是否报错,正常的结果如下:

三、添加用户

不要使用root用户操作,所以需要创建一个用户用于安装、管理系统。

1、添加用户

首先用adduser命令添加一个普通用户,命令如下:

#adduser tommy  //添加一个名为tommy的用户
#passwd tommy   //修改密码
Changing password for user tommy.
New UNIX password:     //在这里输入新密码
Retype new UNIX password:  //再次输入新密码
passwd: all authentication tokens updated successfully.

2、赋予root权限

方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉

## Allows people in group wheel to run all commands

%wheel    ALL=(ALL)    ALL

然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy

修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。

方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
tommy   ALL=(ALL)     ALL

修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。

3、允许新建的用户远程登录(使用密码登陆)

用useradd新增的用户不能直接用ssh远程访问,需要修改ssh相关配置

vi /etc/ssh/sshd_config
内容添加,如下:
AllowUsers root@192.168.1.32 admin
多个用户用空格隔开

注意:su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。(建议用su -)

4、使用key登陆

在.ssh目录下创建authorized_keys,并把登陆机器的pub_key内容填入。下次ssh登录时就不需要输入密码,并且安全性更高。

参考

四、安装工具

  • 安装编译所需要的基本库:sudo apt-get install build-essential python-dev

  • 安装pip,git,mysql:
    • mysql: sudo apt-get install mysql-server
    • git: sudo apt-get install git
    • pip: sudo apt-get install python-pip
  • 安装docker:wget -qO- https://get.docker.com/ | sh (都在root下执行)
    • docker 安装ss
    • docker常用指令:重启——service docker restart;查看docker启动的容器——ps -aux | grep docker

参考

[linux]记录如何设置一个新的vps的更多相关文章

  1. (repost)在ARM Linux内核中增加一个新的系统调用

    实验平台内核版本为4.0-rc1,增加一仅仅打印Hello World的syscall,最后我们在用户空间swi验证 实验平台内核版本为4.0-rc1,增加的系统调用仅仅是简单打印一个Hello Wo ...

  2. 【Git教程】如何清除git仓库的所有提交记录,成为一个新的干净仓库

    一.引言 马三也算Github的忠实用户了,经常会把一些练手的项目传到Github上面进行备份.其中有一个名为ColaFramework的Unity框架项目,马三开发了一年多了,期间提交代码的时候在L ...

  3. 实验六:分析Linux内核创建一个新进程的过程

    原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 题目自拟,内容围绕对Linu ...

  4. linux 环境变量设置及查看

    1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...

  5. 【转】linux环境变量设置

    1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ export WELCOME="Hello!" $ ec ...

  6. linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量

    定制环境变量  环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell.环境变量文件:/etc/profil ...

  7. 第六周——分析Linux内核创建一个新进程的过程

    "万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...

  8. 分析Linux内核创建一个新进程的过程

    一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...

  9. linux内核分析作业6:分析Linux内核创建一个新进程的过程

    task_struct结构: struct task_struct {   volatile long state;进程状态  void *stack; 堆栈  pid_t pid; 进程标识符  u ...

随机推荐

  1. centos下linux运行asp网站搭建配置-mono+nginx

    一.首先安装一些需要的软件包 1.  首先更新CentOS上的软件包:yum –y update. 2.  安装一些需要的库: yum -y install gcc gcc-c++ bison pkg ...

  2. 【转】IT 圈里有哪些经常被读错的词?

    以下内容转至知乎,原文:http://www.zhihu.com/question/19739907?__nids__=5363833,5358751,5355121,5365018,5363846, ...

  3. 在IE7下使用angularjs(转)

    在我的环境中,主要支持的浏览器为:ie7, ie8, ie9, chrome等.在试验angularjs时,发现在ie7环境下运行有问题,于是在网上搜了一下相关的内容,说HTML标签的写法要这样: & ...

  4. android对象关系映射框架ormlite之一对多(OneToMany)

    前两天,用ormlite对单张表进行了基本的操作,但是,我们知道通常情况对于单张表格进行操作在实际情况中很前两天不现实,那么ormlite能否像Hibenate那样实现多张表之间的一对多,多对多(即O ...

  5. SVO实时全局光照优化(里程碑MK0):Sparse Voxel Octree based Global Illumination (SVO GI)

    完全自主实现,bloat-free.再次声明,这不是UE.U3D.CE.KlayGE! 老规矩,先贴图.后面有时间再补充描述. 1. 支持多跳间接全局光照2. 支持vxao/so.vxdiff/spe ...

  6. Scala 深入浅出实战经典 第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

  7. 新安装的VS的一些设置

    古语云:工欲善其事必先利其器 为了方便我们开发,应该设置好VS的一些配置,安装一些辅助插件 1 设置字体和背景等 设置字体为 console 10大小 背景设为护眼颜色 85 90 205 这三个值 ...

  8. html5media.js 让浏览器兼容<Video><Audio> 标签

    介绍:https://html5media.info/ 项目:https://github.com/etianen/html5media Wiki:https://github.com/etianen ...

  9. 使用cocos2d-x v3.1开发小游戏(基本框架)

    小游戏的组成 欢迎界面 在游戏资源未全部加载完之前就需要载入,避免进入游戏会有一段黑屏时间. 可以用来展示游戏名称或者开发者logo. 开始菜单界面 一般用于显示游戏名称和关卡选择(或者称游戏难度选择 ...

  10. console 让 js 调试更简单

    浏览器的控制台(console)是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 显示信息 console.log('hello world'); console.debug('debug' ...