[linux]记录如何设置一个新的vps
背景
我正在做一个小项目,做好了打算上线,所有需要买个服务器,看了一圈,发现还是卖个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的值。
二、区域语言设置
编辑文件:
sudo vi /var/lib/locales/supported.d/local写入相关内容,比如写入如下内容:
代码: 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这个文件是所有已经激活的区域语言的列表
生成相关的locales:
sudo locale-gen --purge编辑文件:
sudo vi /etc/default/locale:写入相关内容.比如,写入如下内容: 代码: LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_ALL="zh_CN.UTF-8"完了重启电脑,终端中输入命令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
- mysql:
- 安装docker:
wget -qO- https://get.docker.com/ | sh(都在root下执行)- docker 安装ss
- docker常用指令:重启——
service docker restart;查看docker启动的容器——ps -aux | grep docker
参考
[linux]记录如何设置一个新的vps的更多相关文章
- (repost)在ARM Linux内核中增加一个新的系统调用
实验平台内核版本为4.0-rc1,增加一仅仅打印Hello World的syscall,最后我们在用户空间swi验证 实验平台内核版本为4.0-rc1,增加的系统调用仅仅是简单打印一个Hello Wo ...
- 【Git教程】如何清除git仓库的所有提交记录,成为一个新的干净仓库
一.引言 马三也算Github的忠实用户了,经常会把一些练手的项目传到Github上面进行备份.其中有一个名为ColaFramework的Unity框架项目,马三开发了一年多了,期间提交代码的时候在L ...
- 实验六:分析Linux内核创建一个新进程的过程
原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 题目自拟,内容围绕对Linu ...
- linux 环境变量设置及查看
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...
- 【转】linux环境变量设置
1. 显示环境变量HOME $ echo $HOME /home/terry 2. 设置一个新的环境变量WELCOME $ export WELCOME="Hello!" $ ec ...
- linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量
定制环境变量 环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell.环境变量文件:/etc/profil ...
- 第六周——分析Linux内核创建一个新进程的过程
"万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...
- 分析Linux内核创建一个新进程的过程
一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...
- linux内核分析作业6:分析Linux内核创建一个新进程的过程
task_struct结构: struct task_struct { volatile long state;进程状态 void *stack; 堆栈 pid_t pid; 进程标识符 u ...
随机推荐
- [3].jekyll的基础
一.创建新项目 以下是一个获取最简单 Jekyll 模板并生成静态页面的方法.: Administrator@FANGPENG /e $ jekyll new myblog # 创建名为 myblog ...
- SCN试验之二 checkpoin scn 与数据库scn的关系
oracle11g 观察数据库scn: SQL> select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHA ...
- Spring MVC+Quartz 定时任务持久化
请自行参考: http://sloanseaman.com/wordpress/2011/06/06/spring-and-quartz-and-persistence/ https://object ...
- 那些在学习iOS开发前就应该知道的事(part 2)
英文原文:Things I wish I had known before starting iOS development—Part 2 http://www.cocoachina.com/ios/ ...
- LeetCode: Convert Sorted List to Binary Search Tree 解题报告
Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted in as ...
- [GraphQL] Use GraphQLNonNull for Required Fields
While certain fields in a GraphQL Schema can be optional, there are some fields or arguments that ar ...
- Tomcat抛出异常:ClientAbortException: java.net.SocketException: Connection
在做一个小网站的时候,写了一个通过servlet实现文件下载功能的页面.当我点击超级练级,弹出下载对话框,点击保存正常下载,不会出现任何问题,当我我点击取消,服务器端就出现如下提示: ClientAb ...
- ssh框架搭建错误集合
1,把jsp放入到WEB-INF/view目录下,struts2.xml配置<result name="success">/WEB-INF/view/home.jsp& ...
- Newtonsoft 自定义输出内容
高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称 7.动态决定属性是否序列化 8.枚举值的自定义格式化问题 9.自定义类型转换 ...
- Multipart/form-data POST文件上传详解
Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...