阿里云服务器从购买到配置全攻略

我用的MAC,终端是iTerm2,从本地连接到服务器的最终效果图以下html

ssh_godi13是我在.zshrc里设置的alias,实际指令是ssh -p PORT root@IPnginx

好,如今就从购买开始讲起(购买的步骤可能会跟个人略有差别,有可能由于阿里又更新了UI)git

购买阿里云

登陆阿里云,注册一个账号,进入控制台(如已登陆进去可忽略)github

如出现该页面选择一个对应的而后点肯定ubuntu

选择云服务器ECS,点击那个小购物车进入购买页面vim

我选择的参数以下浏览器

我都选的最低配置安全

按量的相对便宜,带宽也高,我没什么访问量因此选的这个bash

感受一次买3年的比较合适,我买的时候是3年800,并且当时有用100的优惠卷,如今不知道多少钱了,不过阿里常常搞活动,买以前能够留意一下服务器

最后别忘了设置一个登陆密码

最后支付完成,购买服务器的部分就到这里,接下来去整一个域名

购买域名与设置DNS解析

进入阿里万网选择一个本身喜欢的域名购买,购买完域名不要忘了去备案,在阿里云控制面板的这个位置有

我当时是须要用阿里指定的背景照个半身像跟身份证正反面发过去便可,如今不知道是否是这样了,有可能须要去当地指定地点拍照

点击运行中进入查看所购买的实例

将IP地址记录下来,一会须要用到

点击云解析,而后点击刚才购买的域名进入DNS解析页面

如图添加主机记录www与刚才记录的IP地址,还能够添加个test主机记录的,一会测试用

接下来该去登陆服务器配置一下了

服务器

服务器免密登陆

我是Mac用户,为了之后每次登陆服务器不须要输入密码,咱们须要使用ssh协议来登陆

首先在客户端终端输入ssh-keygen,一路回车便可。而后你会发如今用户跟目录下多了.ssh目录,进去看一下cd ~/.ssh,里面有这3个文件

id_rsa.pub里的内容,手动复制到服务器的~/.ssh/authorized_keys中去便可

# 登陆服务器
ssh root@服务器的IP地址

还有一种方法是使用ssh-copy-id root@IP命令,Mac用户可能须要用brew安装一下ssh-copy-idubuntu用户应该是自带的这个命令,实现的效果与上面的同样,更多ssh使用方法请参考介绍 ssh 的平常使用

完成之后,再登陆服务器就不须要输入密码了,接下来咱们进行一下简单的安全配置,你也能够忽略这些步骤

简单的安全配置

修改默认端口号,取消密码登陆

登陆到服务器之后,vim /etc/ssh/sshd_config修改一下ssh的配合

Port 22 //默认是22,修改成自定义端口号
...
...
...
PasswordAuthentication no // 通常在最后一行,改成 no,不容许密码登陆

service ssh restart 重启生效

<div class="tip">若是发生手残在服务器端删除了.ssh文件或者相似的状况,能够到阿里云上使用远程管理来拯救。远程登陆后,把PasswordAuthentication值改回yes便可密码登陆
</div>

配置防火墙

  1. ufw enable 开启防火墙

  2. ufw default deny 禁止全部端口访问

  3. ufw allow 80/tcp 容许80端口tcp协议连接

  4. ufw allow 443/tcp 443 https

  5. ufw allow 修改的sshd_config的Port的端口号/tcp

  6. ufw status 查看防火墙状态

  7. ufw reload 重启防火墙

Nginx

安装 nginx

  1. apt-get update

  2. apt-get install nginx

  3. service nginx status 查看状态

  4. 若是成功,浏览器中输入IP便可显示nginx默认页面

配置 nginx

  1. nginx默认会把/etc/nginx/conf.d目录下的配置所有引入,下图是nginx.conf里默认配置

  1. cd /etc/nginx/conf.d,建立本身起个名字.conf,输入如下内容

server {
  listen 80;

  server_name  www.域名.com;
  # server_name  *.域名.com;
  # server_name  www.域名.com test.域名.com;

  location / {
    # 路径本身定,不过不能放到/root目录下
    root   /usr/local/src;
    index  index.html index.htm;
  }
}
  1. /etc/init.d/nginx restart 重启nginx

  2. /usr/local/src建立一个index.html

  3. 输入域名登陆,若是成功则显示index.html里面的内容

你要能够在/etc/nginx/conf.d目录下,多写几个不一样的配置,分开管理二级域名

一些好的工具

为了统一客户端与服务端的操做习惯,我在服务器端也安装了oh-my-zshz,并把界面调整一致,想把服务器玩的更6的能够安装tmux,这里我没有安装就先不讲了

zsh

如何安装能够参考Ubuntu 下安装oh-my-zsh,我记得阿里云的ubuntu里好像默认有zsh

我皮肤用的也是oh-my-zsh里的agnoster主题,若是想把user@hostname信息隐藏跟客户端的设施略有不一样。客户端想隐藏只须要在~/.zshrc文件中添加便可

DEFAULT_USER=`whoami`

但服务器默认是root用户,此法不通,须要在cd ~/.oh-my-zsh/themes/agnoster.zsh-theme里把最下面的context注释掉便可

...
## Main prompt
build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
  # prompt_context
  prompt_dir
  prompt_git
  prompt_bzr
  prompt_hg
  prompt_end
}

z

z是相似autojump的文件跳转工具,会记录你的目录习惯,就像我开篇贴的那个图同样,只须要输入z conf,就直接跳转到我常去的nginx配置目录了,很是方便

  1. 首先须要安装git,apt-get install git

  2. 我是在/usr/share/目录下,git clone --depth=1 https://github.com/rupa/z,你有能够在其它目录安装,可是要记住路径

  3. vim ~/.zshrc,添加. /usr/share/z/z.sh

  4. source ~/.zshrc

结语

至此全部的服务器相关的初始设置都已完成,但愿本文对你们有所帮助,哪里有错误请告诉我,好及时修改以避免误导他人,谢谢

相关文章
相关标签/搜索