实验材料:
1、一台阿里云服务器
2、一个前端项目(静态页面,不需要后端)
3、一个域名(可有可无,没有就直接用IP——域名只是为了好记?)
4、Xshell - 本地连接云服务器的软件
参考文档
1、Quasar框架文档)
1、初始化我们的前端项目
这里我使用了我曾经未接触过的 quasar,具体看文档是如何打包的。
这里其实只需要随便一个 index.html 页面即可。
2、配置服务器
2.1 Nginx
安装nginx需要的依赖:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-deve
下载并放置nginx安装包
cd usr/local mkdir nginx cd nginx wget http://nginx.org/download/nginx-1.18.0.tar.gz 【拉取】 tar -xvf nginx-1.18.0.tar.gz 【解压】
安装nginx
cd usr/local/nginx cd nginx-1.18.0 ./configure 【这一步一般用来生成 Makefile,为下一步的编译做准备】 make 【这一步就是编译,大多数的源代码包都经过这一步进行编译】 make install 【这条命令来进行安装】
配置nginx文件(酌情配置)
vi /usr/local/nginx/conf/nginx.conf
开启nginx代理
/usr/local/nginx/sbin/nginx -s reload 如果报错(nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed),尝试运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2.2 配置阿里云安全组规则
针对于刚买来的服务器,通常,80端口是没有被允许出、入的;我们这里需要配置一下这里的规则。
这里主要是配置安全组的“入方向”规则(因为是从其他的电脑访问到我们的服务器)
如下:
2.3 验证是否开启nginx服务器成功(我们先用nginx默认的页面看下是否配置成功了)
2.4 上传我们的页面
上传我们真正需要的index.html和依赖的资源文件夹
这里可以直接使用 Xshell 的 Sftp 工具
然后直接鼠标点传输就行了
最后看看我们的效果!!!
nginx配置成功啦!
3、域名解析
嘛,这一步其实只是为了将我们的IP地址绑定在域名上;
阿里云的链接实现起来很简单(2分钟的手动操作,应该就解决了)
参考的图片
PS:上面我写完这个解析,貌似添加完 1min 后就能够访问了。
百度了下:大概是第一次使用的时候很快,下一次修改的时候,可能就要10min左右了。
不幸的消息是,过了2min,通过域名访问竟然又不行了。。。。
如下图,所以我们有了第四步(不然我们只能通过ip访问了)
4、网站备案
略(这里因为要求手机号码和身份证归属地要是一样的,遂跳过)
5、更多(关于域名解析)
5.1 什么是TTL?
TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间。当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
所以,TTL的值设置的小,我们更新域名修改的时候,改变的快。
TTL的值设置的大:这样在更长的一段时间内,访问这个网站时,本地ISP的DNS服务器就不需要向域名的NS服务器发出解析请求,而直接从缓存中返回域名解析记录。用户访问的会更快。
5.2 本地浏览器域名解析的过程(该过程由DNS服务器完成)
- 1、客户机提出域名解析请求,查找本地HOST文件后将该请求发送给本地的域名服务器。
- 2、当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
- 3、如果本地DNS缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址(例如请求域名为.com域,则返回负责.com域解析的主域名服务器——辅助服务器)。
- 4、本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
- 5、重复第四步,直到找到正确的纪录
- 6、本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。