密钥登陆 CentOS
安装系统时,指定使用密钥登陆,可以有效防止服务器被暴力破解。
可以使用 MobaXterm 登陆中指定密钥,实现密钥登陆:
也可以本地生成密钥对,然后将公钥存放至 ~/.ssh/authorized_keys
文件中。
或者使用命令,将密钥 id 放到服务器上:
1 | ssh-copy-id 192.168.11.11 |
创建管理员用户并禁止 root 登录
对于 Linux 来说,root 用户的权限过高且名称确定,如果被黑客利用后果不堪设想。
添加新用户:
1 | useradd shuo |
修改新用户密码(如果是外网服务器,安全起见,需设置复杂一些才好):
1 | passwd shuo |
给新用户 sudo 权限:
打开 sudo 的配置文件
1
visudo
也可以使用 vim 直接修改
/etc/sudoers
文件。使用visudo
命令修改会有语法检测,更专业。找到如下配置行,添加你允许使用 sudo 的用户名字
1
2
3## Allow root to run any commands anywhere
root ALL=(ALL) ALL
shuo ALL=(ALL) ALL使用 sudo 命令,在你敲的命令前,加上 sudo 即可:
1
sudo ls /root
禁止 root 登陆,允许密码登陆:
1 | vim /etc/ssh/sshd_config |
把 PermitRootLogin yes
改为 PermitRootLogin no
, 把 PasswordAuthentication no
改成 PasswordAuthentication yes
:
重启 ssh 服务:
1 | service sshd restart |
更换 ssh 端口
打开 ssh 服务的配置文件:
1 | vim /etc/ssh/sshd_config |
找到 #Port 22
,将它取消注释,将 22 修改为需要的端口;
重启 ssh 服务:
1 | service sshd restart |
重启服务不会断开已有链接,下次连接时生效配置。
有些云服务供应商需要去安全组配置打开所需端口:
安装 Python 虚拟环境
阿里云的 CentOS 系统中已经自带了 Python3.6.8 和 pip,无需自己安装,而且已经默认将 pip 源设置为阿里云。
通过下面几条命令安装虚拟环境(virtualenvwrapper 依赖前三个包):
1 | sudo pip3 install wheel |
设置 Linux 的环境变量,确保计每次开机启动时加载 virtualenvwrapper。
打开并编辑 ~/.bashrc
文件:
1 | vim ~/.bashrc |
在文件末尾添加下面几行代码,注意修改 Python 解释器和 virtualenvwrapper 的地址为自己的 Python 安装位置,修改好后保存并退出:
1 | export WORKON_HOME=~/PyEnvs # 设置 virtualenv 的统一管理目录,可按需修改 |
读取 ~/.bashrc
文件,使其生效:
1 | source ~/.bashrc |
执行效果像下面这样,说明运行成功。不出意外的话,完成此步即可使用 virtalenvwrapper。
1 | [root@localhost ~]# source ~/.bashrc |
virtualenvwrapper 的基本使用操作命令:
1 | # 创建一个虚拟环境: |
其他常用命令:
1 | # 列举所有的环境 |
安装 git
直接使用 yum 安装:
1 | sudo yum install git |
安装 Docker
首先,删除所有已经安装了的 docker:
1 | sudo yum remove docker \ |
配置 docker 的 yum 仓库:
1 | sudo yum update |
安装 docker:
1 | sudo yum install docker-ce docker-ce-cli containerd.io |
启动/停止/重启 docker 服务:
1 | sudo systemctl start docker |
查看 docker 是否安装成功:
1 | sudo docker run hello-world |
此时 Docker 已经安装完毕。不过每次使用 Docker 都需要 sudo 权限才行,首次使用还要输入密码,很繁琐。可通过将当前用户添加到名为 docker 的用户组的方式,免除每次使用 docker 时都要敲 sudo 的限制:
1 | sudo groupadd docker # 创建一个 docker 用户组 |
安装 Nginx
直接使用 yum 安装:
1 | sudo yum install nginx |
也可以通过编译安装,参见: Nginx 快速入门
编辑 nginx 配置文件,隐藏 nginx 版本号的显示,在 http 标签中加上如下一行配置即可:
1 | http { |
配置 Java jdk
官网下载 Java 安装包:
将安装包上传至服务器,解压
1 | tar -zxvf jdk-8u271-linux-x64.tar.gz |
将压缩包移动到合适的位置:
1 | sudo mv jdk1.8.0_271/ /opt/jdk |
配置 JAVA_HOME 等参数与 ~/.bashrc
文件中:
1 | JAVA_HOME=/opt/jdk |
安装 npm
由于 node.js 的版本一直处于不断更新中,所以我们需要一个版本管理器来更好的使用 node.js。
nvm 是一个开源的 node 版本管理器,通过它,你可以下载任意版本的 node.js,还可以在不同版本之间切换使用。
注意:安装 nvm 之前,要确保当前机子中不存在任何版本的 node,如果有,则卸载掉。
github:https://github.com/creationix/nvm
安装命令:
1 | sudo apt-get update |
安装 node
使用 nvm 的相关命令安装 node。
1 | # 查看官方提供的可安装 node 版本 |
安装几个常用的 LTS 版本
1 | nvm install v10.15.2 |
npm
npm(node package manager)是 nodejs 的包管理器,用于 node 插件管理(包括安装、卸载、管理依赖等)。安装了 node 以后,就自动安装了 npm(不一定是最新版本)。
1 | npm --version |
默认情况下,npm 安装插件是从国外服务器下载,受网络影响大,可能出现网络异常。
通过淘宝镜像加速 npm
1 | # 打印默认的 registry 地址 |