前言
作为前端开发者一直都在关注浏览器的行为、表现。但是时间长了免不了要接触到后端的知识、服务器的知识。尤其是在前端技术爆发式发展的当下,前端慢慢的渗透到了更多的领域。比如,使用 express/koa 创建 http 服务,使用React-Native开发Android和IOS通用的APP,甚至使用node开发系统、嵌入式程序等。这个时候,我的内心开始蠢蠢欲动,我们能做的不仅仅是网页。
首先,我需要一台服务器。上面有我需要的各种有用的库,每当我有新的想法需要实践的时候我就拿出来搞一波,简单快速成型。我不必依赖后端同事,我也不想占用公司的资源,哪怕是创业或者我想开发自己的软件/库,我也不会有任何的问题。
来看这篇文章的同学想必都是需要这么一个服务器的,刚开始学习的时候,我不建议大家使用复杂的环境,这个会带来大量的调试成本,同时页会遇到很多不可预知的错误,这里我推荐使用云服务器(其他同学可以使用虚拟机,效果也可以),大家根据我的教程就可以轻松愉快的创建一个完整的服务器。
准备
我需要以下这些来完成后面的工作。
1.一个域名:下面将讲解使用 Nginx 管理自己的各个服务,一个域名是必不可少的,如果你经常使用域名那就更好了。
2.一台Linux服务器:这篇文章主要在 Linux 上做各种开发,Window 的没有什么难度,网上也有很多教程,这里就不介绍了。作为一个服务器怎么能用 Windows 呢?
3.如果使用 Windows 电脑做个人电脑,我这里推荐大家安装一个 xshell 做为连接服务器的工具,这个软件非常好用,其他诸如 Mac/Ubuntu 的请使用电脑自带的终端。
创建自己的服务器
使用云服务器
我这里推荐使用云服务器,相比使用自己的服务器,云服务器有很多方便的地方,而且云服务器提供一个一周的试用版,用起来非常的方便。
创建一个轻量级的服务器
阿里云可以购买一台可使用一周的服务器,这个服务器正好用来做这次开发(已有的请跳过)。
登录阿里云,进入购买 CES 的地方,链接地址请单击这里。
依次选择:
- 计费方式:包年包月。
- 地域:华北5(当前华北5有优惠)。
- 实例:请寻找1vCPU、1G内存的实例(我最终选择了突发性能实例 t5)。
- 镜像:选择CentOS 7.4 (现在后端普遍使用6+的版本,7相比6有了很大改进,前端选择7可以减少很多麻烦),勾选安全加固。
- 云盘:40G高效云盘。
- 公网带宽:勾选自动分配公网 IP,选择1M带宽。
- 安全组:选择默认安全组,并勾选http80端口和http443端口。
- 购买周期:选择1周。
最终结果:
我们的服务器主要做网站类的开发,所以有针对性需求的用户可以考虑将内存增大,其他在需要的时候采取考虑。
使用虚拟机
如果你打算使用虚拟机,这可能会增加你的开发难度,而且效果可能和在自己的电脑上直接开发没有太大区别,这里虽然不推荐,我还是稍微讲一下吧。下面演示一下使用VM12虚拟机以及Ubuntu系统来安装一个虚拟机,安装是在windows系统下进行,这也是大多数安装虚拟机的场景了。
- 下载要安装的系统Ubuntu,下载地址。
- 下载安装VMware,这个请自行百度,产品激活密钥等也可以通过百度解决。
- 打开VM并创建一个虚拟机:
- 选择自定义:
- 单击下一步按钮直到这一步:
- 请输入一个已经存在的位置:
- 默认的配置已经足够了,请注意电脑的剩余空间:
- 下一步并选择硬件:
- 选择第一步下载的镜像:
- 下一步直到完成。此时已经可以启动虚拟机了:
- 选择中文简体,这也是选择ubuntu的一个重要原因:
- 这一步比较重要的是取消掉下载更新,不然你得到一个下载中的状态,国内网络不太好,下载会比较吃力,这里就直接取消了:
- 第一次安装的时候直接清除就好了:
- 点击下一步依据个人喜好选择键盘布局/位置等,然后输入自己的用户名密码就开始正式的安装了:
- 到这里就安装好了:
以上基本就可以安装好一台虚拟机了,实际的使用上和一台真实的机器并没有太大的区别,剩下的请各位自行探索。本文主要介绍的还是在云服务器上的开发。
安装自己的开发环境
到这里就可以开始第一次在Linux上开发了,是不是很兴奋?
连接到服务器
Linux服务器不像window那样有一个可视化的界面,window/mac连接的时候也不像远程桌面那样方便。这里连接服务器需要使用命令才行。
window连接服务器
好消息是window下有一款神器:xshell,命令可以很方便的输入到一台服务器或者多台服务器上,用户密码也可以很方便的保存在本地,多个服务器还可以分组,你要做的就是专注于眼前的服务器开发。
这个软件多用于常年跟服务器打交道的同学那里。如果你没有,可以找他们要一个。
- 首先你需要安转一个xshell,下载需要填一些信息,最方便的就是问同事要一个,安装非常简单,要注意的是安装的时候需要选择个人开发使用,不然安装好之后发现需要交钱才能用就坑了。
- 安装好之后你就可以把自己的服务器ip、用户名、密码都填好了,以后只需要鼠标一点就进入了自己的服务器了。
- 需要注意的是,选择一下默认的字符,不然你的中文会变成乱码。
- 连接之后的界面是下面这样。
- 首先有一个进入服务器的提示,然后下面就是熟悉的命令行了,不同的是前面那段显示的规则是用户名@机器名。
Mac连接服务器
Mac连接服务器可以使用自带的终端
应用,也可以自己下载一个iTerm2
,这里我推荐使用iTerm2,可以方便的使用不同的主题,添加各种有用的插件。
- 打开
iTerm2
,输入连接命令ssh 用户名@ip地址
然后回车,你会看到提示你输入密码,这个时候输入你在购买服务器的时候设置的密码就好了。 - 只要密码正确,你就可以进入服务器了,依旧是熟悉的命令行模式。
- 你会在第一时间看到服务器反馈的上次登录信息,欢迎信息,然后是命令行的提示,前面的显示规则是
用户名@机器名
,这里的欢迎信息是我自己改的,有兴趣的同学可以自行探索(比如显示一个美女)。
几个常用的命令
要想使用Linux系统服务器做开发,不懂几个常用命令怎么行?
ssh 用户名@ip
,连接服务器的命令。cd 绝对路径/相对路径
,跳转到路径对应的目录下。rm 文件名
,删除文件。rm -rf 目录路径
,删除目录以及目录下的所有文件,谨慎操作!ls [-a]
,查看当前目录下的文件和目录,加-a参数可以查看所有文件,包括隐藏文件(.开头的文件是隐藏文件,默认是看不见的)。ll
,查看当前目录下的文件详情,可以文件的权限,遇到没有权限执行的情况下可以使用这个命令查看。pwd
,查看当前路径的完整路径,不知道自己在哪儿的时候可以使用这个命令查看。which 名字
,在几个默认位置查找改名字,比如查找pm2安装在哪个地方了。mkdir 目录名
,创建一个空目录。cat 相对/绝对文件路径
,查看文件的内容,多为查看日志或者其他文本文件。cp 文件路径 目标路径
,复制一个文件到另外一个地方。mv 文件路径 目标路径
,移动一个文件到另外一个地方,也可以重命名。ps -aux
,显示当前进程,有时候需要用这个查看进程是否存活。kill -9 进程id
,结束进程,进程id就是上一条命令查到的pid。tar -zxvf 文件
,解压缩文件。tar -zcvf 压缩后的文件 要压缩的文件/目录
,压缩文件。vi 文件路径
,使用vim进入文件的编辑模式。- vi退出文件,按下esc键保证退出编辑模式,输入:q或者:q!强制退出。
- vi编辑,按下i左下角会提示进入编辑模式,然后就是正常的输入文字,再按esc键退出编辑模式。
- vi保存编辑结果,按下esc键保证退出编辑模式,输入:x保存并退出。
后面还有很多内容,包括:
- 如何购买一个阿里云服务器?服务器的选择、系统的选择、怎么挑选最合算?
- 安装 Node、PM 2 并备份系统;
- 安装 MySQL、Redis、Nginx 并配置安全规则,防止服务器被扫描;
- 部署一个简单的 Express 服务;
- 简单的数据库连接、PM2 守护、Nginx 端口映射;
- 写自己的脚本、真正的做到一键部署、一键重启。
文章地址:点击跳转