用户登录

现在我们去给网站搭建一个生产环境,我们需要一个域名,还有一台服务器 .. 在国内,服务器可以选择阿里云,国外可以使用亚马逊的云,或者 DigitalOcean ..

服务器要拥有独立的公网 IP 地址,操作系统要是 ubuntu .. 并且需要有 SSH 的权限,就是你可以使用 SSH 登录到远程服务器 .. 我们会使用 ansible 自动化去配置服务器 ..

我的域名,还有服务器都已经准备好了 .. 服务商都是阿里云 ..

域名解析

先给域名添加一条解析 .. 登录到域名的管理界面 .. 不管你选择哪家域名服务商,应该都会有一个类似的管理界面 .. 添加一条 a 类型的解析记录 .. 主机记录可以是 landrover .. 记录的值是一个服务器的 ip 地址 .. 我准备的服务器的 ip 地址是 42.120.40.68 ..

保存一下 .. 稍等一会儿,解析就会成功 .. 验证一下,可以打开命令行工具 .. ping 一下 landrover.ninghao.net

现在这里会显示,主机名指向的 ip 地址就是我的服务器的 ip 地址 ..

服务器

再看一下我的服务器 .. 这是我在阿里云买的一台 ECS 云服务器 .. 操作系统是 Ubuntu 16.04 64位 .. 操作系统需要选择 Ubuntu ,因为我们配置生产环境用的 Ansible 的 Playbook 是针对这种操作系统写的 ..

服务器的公网的 IP 地址是 42.120.40.68 .. 配置服务器的时候需要用到这个 IP 地址..

先打开命令行工具 .. Windows 用户可以使用 cmder,然后新建一个 bash 类型的标签 .. mac 用户打开终端 ..

连接到服务器,用的是 ssh .. root@42.120.40.68 ...

如果遇到了 known hosts 的错误,你可以找到 know hosts 文件,删除掉服务器 ip 地址开头的记录,然后重新再连接一下 .. 或者有个命令可以帮我们清除 .. ssh-keygen -R 42.120.40.68

这样再次连接到服务器的时候,又会提示我们是不是要继续连接 .. yes .. 再输入我们在创建服务器的时候设置的 root 用户的密码 .. 这样就会登录到服务器 ..

ssh-copy-id

在运行 playbook 的时候,ansible 要用 ssh 登录到服务器,用指定的用户去执行任务 .. 这个用户默认是 root,我们也可以不用 root,去设置一下特定的用户去执行任务 ..

ansible 运行 playbook 的时候我们可以设置用密码登录到要配置的机器 .. 推荐的方法是使用 ssh key 的方式登录 .. 这样更方便,也更安全 ..

我们的本地要生成一对 ssh 密钥 . 然后把公钥里的内容复制到服务器的想要用 ssh key 登录的用户主目录下面的某个特定的文件里 ..

在本地,你应该已经有了一对这样的密钥 .. 可以查看一下 .. ls ~/.ssh ,默认就是这个 id_rsa ,它是密钥,还有 id_rsa.pub ,这个就是公钥 ..

如果你发现没有这两个文件,需要手工生成一对 .. 执行 ssh-keygen .. 一路回车 .. 完成以后你就会在用户主目录下面找到这两个文件了 ..

把这个公钥内容复制到服务器,可以用一下 ssh-copy-id 这个小工具 .. 没有的话可以去安装一下它 .. mac 上用 homebrew,brew install ssh-copy-id .. 在 windows 上,如果你用的是完整版的 cmder,里面会自带这个小工具 ..

执行 ssh-copy-id ,-i ,设置一下公钥的位置 .. ~/.ssh/id_rsa.pub .. 然后是登录的信息 .. root@42.120.40.68 ..

输入 root 用户的密码 ..

ssh-copy-id -i ~/.ssh/id_rsa.pub root@42.120.40.68

现在我们就可以通过 ssh key 的方式,用 root 身份登录到服务器了 .. ssh root@42.120.40.68

这样没有提示我们输入密码 .. 直接就登录到了服务器 ..

生产环境:准备《 WordPress 开发:生产环境 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点