一般来说web项目都是部署在Linux服务器上,本节主要讲解在Linux上的一些基本操作,以及如何让我们写的网站(虽然简单了点,但确实可以叫网站)可以被访问到。如果读者对Linux很熟悉,可以跳过此章。
部署项目的最简单办法就是在网上购买云主机,可以去阿里云或者腾讯云,当然别的云也可以。
下面以阿里云为例,进入阿里云的官网后,选择“云服务器ECS”就可以了。
然后我们选择配置,以及镜像的类型。乞丐版的话一个月是60多块钱,镜像我们选择Ubuntu的16.04的64位版本。
(如果是大学生党的话,也可以购买阿里云和腾讯云的学生主机,现在好像是有名额限制,阿里云乞丐版10块钱一个月限流量;腾讯云的乞丐版1块钱一个月,不限流量,送域名)
当然如果暂时没有使用服务器的需求,只是想学习一下而已的话,也没有必要花一个月60多块钱买服务器。可以使用虚拟机或者安装双系统作为替代品。如果安装虚拟机的话,如果你的电脑很好可以安装一个Desktop版本的Ubuntu(有图形界面),如果电脑配置不高,也可以安装server版本的(没有图形界面)。
虚拟机的安装在这里不进行展开了,百度一下,你就知道了。
有了服务器,我们需要通过sftp协议连接到服务器,这里推荐使用Xshell,百度一下,你就知道怎么安装了。
到这里,我们打开Xshell,选择新建一个会话,然后输入ip,点击确定。
之后输入用户名和密码(如果买的是腾讯云,默认用户名是ubuntu)。
如果是以root用户登录的,我们可以看到在终端显示了root用户以及#号。
如果是以非root用户登录的,我们可以在终端显示了用户名是ubuntu,以及$号。
我这台测试的主机是腾讯云的主机,默认用户为ubuntu,切换用户需要输入sudo su
,然后输入密码(这里输入是没有回显的),然后我们再cd到家目录,就可以得到和root登录后一样的结果了。
接下来,我们在安装软件之前第一先要更新一下源,输入apt-get update
就可以了。
接下来,我们使用apt-get install
命令安装vim和git。
输入y并回车就可以自动安装。
在Linux中,不像Windows那样有着方便的图形界面来进行操作,这里一切都是使用命令行进行操作。为了能在Linux下生存,我们要先学会如何读写文件。
vim就是最常用的Linux下的文本编辑器,下面我们来学习它的基本使用。
首先我们来打开一个新文件,如说test.txt, 输入vim test.txt
,因为test.txt并不存在,所以我们就打开了一个新的空文件。
在vim中有四种模式,普通模式、插入模式、可视模式以及命令模式。在这里我们不对可视模式进行讲解,读者可以自行查阅资料学习。
在刚打开文件的那一刻,我们进入的是普通模式。我们在普通模式输入“i”的时候,会进入插入模式;在普通模式输入“v”,会进入可视模式;在普通模式输入“:”,会进入命令模式。在这几个模式下输入“Esc”,会回到普通模式,下面我们来实战一下。
输入“i”之后,左下角出现了“INSERT”,说明我们进入了插入模式,这个时候就可以编辑文件了,使用键盘进行输入字符,然后通过方向键移动光标,使用“Backspace”键删除字符。
接下来,我们编辑好了文件,该保存文件了,摁下“Esc”键回到普通模式。
然后输入“:”,进入命令模式,此时输入“w”命令,并输入回车。
在命令模式下输入命令摁下回车后,会自动回到普通模式,此时我们再输入“q”命令,就可以退出编辑器了。
有的时候我们不小心编辑了,但是不想保存,这时候如果输入“q”命令就会提醒我们没有保存。
首先使用wget命令下载golang的二进制包。
wget http://www.golangtc.com/static/go/1.5.4/go1.5.4.linux-amd64.tar.gz
接下来,使用tar命令解压。
tar zvxf go1.5.4.linux-amd64.tar.gz
解压过后,我们可以看到此时有了一个go目录,使用ls命令可以查看当前目录下的文件。
这时我们使用mv命令把go目录移动到"/usr/local/"下面。
mv go /usr/local/
这时我们测试一下go命令是否是正常的,输入go version
查看go语言的版本。
当然也可以写一个HelloWorld来测试一下go run
命令,顺便练习一下vim编辑文件。
接下来,我们需要把go命令添加到PATH中,并添加GOROOT、GOPATH以及GOBIN。
我们首先创建一下我们的GOPATH,我把GOPATH放在了家目录下的golang中。
mkdir golang
mkdir golang/src golang/pkg golang/bin
然后,我们使用vim打开家目录下的.bashrc,然后追加到PATH中。
vim ~/.bashrc
编辑完.bashrc后,我们需要使用source命令使它生效,就像我们在Windows配置完环境变量后需要重启一下dos一样,然后此时直接输入go version
就可以看到go语言的版本了。
至此,go语言环境搭建成功。
接下来,我们使用go get
命令安装gin框架。
如果遇到失败的包可以通过wget命令从golang中国下载响应的包,然后移动到/root/golang/src目录下。比如说golang.org就被墙了,需要我们手动下载。
wget http://www.golangtc.com/static/download/packages/golang.org.x.net.tar.gz
下载后,解压放到/root/golang/src
tar zvxf golang.org.x.net.tar.gz
mv golang.org /root/golang/src/
安装完成后,我们测试一下gin的Hello World程序。
然后使用go run gin_server.go
运行我们的网站,在浏览器输入ip和端口访问它。
我们运行完go run之后,会发现我们在这里做不了任何事情,只能新开一个连接窗口,在linux中我们可以在命令后面加入"&",让程序在后台运行,但是当我们退出之后,这个进程就会被杀死,所以要使用nohup命令。
可以看到程序的进程id为29643,输出重定向到了nohup.out。
有的时候,我们的程序可能会遭到崩溃的情况,所以需要让它自动重启,一个简单粗暴的方法就是一崩溃就继续运行程序。我们编写一个shell脚本,对任务进行死循环。
然后再使用nohup命令把它放到后台即可。
nohup bash ./auto_restart.sh &
除了使用上面的方法之外,还可以使用supervisor,网上有很多配置的教程,这里就不进行展开了。
go语言的部分到这里也算是结束了,有一些高级的语法如协程等等都没有讲,web方面也只是浅尝辄止,显示了几个页面,读者如果对web感兴趣,可以继续深入学习前端的技术:HTML5、CSS3以及JavaScript语法,以及后端技术:MVC、模板渲染,SESSION,数据库等等。
- 目录
- 上一节:go语言web框架——gin
- 下一节:蓝牙4.0案例——手机控制RGB灯颜色