零基础建站(三):在Ubuntu 16.04上安装Web Server(Nginx)

 

前期准备(Prerequisites)

云服务器ECS:Ubuntu 16.04 64位

电脑:Mac

域名:已有

 

在开始教程之前大家可能有这个问题:为什么买了域名和服务器,把html上传到服务器上了,依旧打不开网页呢?

在学习建站的时候,我们往往学习HTML CSS JavaScript,对于上传到服务器的中间步骤,经常是一笔带过。事实上,除了写代码、购买服务器和域名,中间还有一个必不可少的环节:搭建Web服务器(部署 Web 环境)。

 

什么是Web服务器/Web Server/网络服务器?

Web服务器=Web Server=网络服务器=HTTP Server

很喜欢selfboot的解释,以下摘自博客(传送门:http://selfboot.cn/2016/07/28/forum_design_framework/):

当我们在浏览器输入URL(域名)后,浏览器会先请求DNS(解析),获得网站域名背后的(公网) IP 地址。然后发送一个HTTP Request(请求)给拥有该 IP 的云服务器,接着就会接收到云服务器给我们的 HTTP Response(响应),浏览器经过渲染后,以一种较好的效果呈现给我们。这个过程中,正是Web服务器在幕后默默做贡献。

IMG_0490.jpg

“简单来说,Web服务器是在运行在物理服务器上的一个程序,它永久地等待客户端(Client-side)(主要是浏览器,比如Chrome,Firefox等)发送请求。当收到请求之后,它会生成相应的响应并将其返回至客户端。Web服务器通过HTTP协议与客户端通信,因此也被称为HTTP服务器。”

因此,只购买云服务器、域名是不够的,中间必须要经过Web服务器接收HTTP Request(请求) 并发送HTTP Response(响应)。其中,比较常见的web server有:微软的信息服务器(iis),Apache和Nginx。

 

Web Server要自己写还是直接安装呢?

都可以。目前比较常见的web server有:微软的信息服务器(iis),Apache和Nginx等。他们完善而成熟,因此对于一般项目来说,安装现成的web server是很好的选择。然而,抱着“绝知此事要躬行”的态度,自己写Server能让你更深入的了解web server的原理。

比方说可以使用Node.js搭建一个简单的Server,例如下图:

var http = require("http");

http.createServer(function(request, response) {

response.writeHead(200, {"Content-Type": "text/plain"});

response.write("Welcome to Node.js!");

response.end();

}).listen(6600);

自己写Server可以玩很多好玩的project,目前我们可以先学习直接下载Nginx的方法让我们的网站活起来。

 

 

远程登录你的云服务器(Root Login)

Step 1:在阿里云ECS控制台找到你的公网IP

入口:https://ecs.console.aliyun.com/#/home

1.png

 

Step 2:打开terminal(终端)

屏幕快照 2018-01-17 下午12.41.34.png

 

Step 3:在terminal里面,输入以下代码:

ssh root@公网ip

例如: 如果我的公网IP是123.123.123.123,那么我就输入:

ssh root@123.123.123.123

2.png

 

Step 4:输入密码

PS:第一次输入先要确认一次(手动输入yes,然后按回车)

随后,你需要重新输入一次ssh root@ip(快捷键:上翻)

然后,输入你在购买云服务器ECS时设置的登录密码(输入的时候不可见,要记得自己输入到哪里了)

然后按回车

 

Step 5:连接成功

4.png

 

安装 Nginx(Install Nginx)

Step 1:在terminal输入:

sudo apt-get update
PS:apt-get is the command line package management tool supplied with the Debian package apt. APT searches its cached list of packages and lists the dependencies that must be installed or updated.

等到出现Done的时候,可以进入Step2

52013847-d245-4020-8f8a-5be20b4443c4.png

 

Step 2:安装nginx,输入:

sudo apt-get install nginx

出现如下提示之后,输入“Y”,按回车

6.png

 

Step 3:在浏览器输入你的公网IP地址

例如123.123.123.123,此时浏览器网页出现以下图片,代表nginx已经安装成功!

7e48c44c-1637-4667-9e62-172c303d9030.png

 

域名和解析设置

现在其实已经设置好了基础的环境,如果希望除了输入ip地址,也能通过输入域名的方式来访问的话,可以继续以下的步骤。

首先,你要已经在阿里云购买好一个域名

Step 1:进入域名控制台,选解析

 

Step 2:选择“新手引导”

屏幕快照 2018-01-17 上午11.26.57.png

 

Step 3:输入公网IP

 

Step 4:在浏览器输入域名

你应该能看见和输入公网ip地址一样的页面

7e48c44c-1637-4667-9e62-172c303d9030.png

 

此时,你已成功安装好Web Server,并且让你的ip地址和域名都能被访问。

下一章,我们将介绍如何把写好的网页上传至服务器。

 

各种官网建站文档传送门:https://help.aliyun.com/document_detail/63819.html

DigitalOcean教程:https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh