需要基础:
学到什么:
- 1、通过阿里云购买服务,并配置。
- 2、实现把自己准备好的项目,发布到公网,让大家都能访问。
生产环境中推荐使用linux,因为他会比windos更加稳定出色
购买服务器
选择入门级来构建博客绰绰有余
往下拉,随便点进下面一个
基础配置
选择一款需要的服务器:2核cpu,2GB内存
然后往下拉,最重要的地方来了-镜像(指操作系统)
选择linux的CentOS版本
版本建议7.0以上版本
再往下是存储,分为系统盘
和数据盘
,如果觉得数据很多,需要存个数据库,那么可以增加一个数据盘
如果没有那么大的需求,我们只是希望系统盘能大一点,高效云盘选择140G,者样初期配置完成,接着点击下一步网络和安全组
网络和安全组
上面的网络
和公网带宽
先不用管,最重要先看安全组
安全组默认有几个端口,80端口默认是要打开的,还有默认的两个,80是http网站的默认端口,并且是隐式存在的,不需要显式的写出来,如果是其他的端口就要把它显式的写出来,接着下一步
系统配置
这里面最重要的就是配置密码,密钥对对新手来说有些麻烦,所以选择较为简单的密码,密码建议设置复杂一点
描述可以随便填写,主机名可以设置为blog,这些设置完了之后其实大部分已经配置完了
分组设置
影响很小,可以添加标签,比方说用于测试,开发,服务
然后就可以点击确认订单了,这样服务器购买就基本上完成了
确认订单
往下拉,选择时间和确认服务,然后点击购买进入购买页面,完了之后点击左上角的管理控制台
管理控制台
点击进入刚才购买的云服务器
,里面有服务器的情况配置和资源整合,后期的ip配置,密码更改都可以在这个地方看到
连接到服务器
这个工具集成了linux的很强大的命令行工具,包括连接,上传….
ip在买完后个人控制中心看到ip地址
输入ssh root@47.94.255.230,这里虽然没有显示但是已经输入了,然后可以看到机器;通过uname -a查看一下版本
web服务器选择
推荐三款
如何安装?
输入nginx.org来到官网,左边是他的新闻和日志
看下右下角的download,点进来,里面有很多版本
选择linux的stable version,点进去,里面会说明如何安装
推荐安装方法
在CentOS下安装,安装前线确认下NGINX是否存在,nginx -v
是查看版本的指令,下面可以看到版本,编译东西,依赖,配置参数,看到这些说明机器已经安装了
如果没安装会出现什么样的提示?我么可以故意输入nginxs -v,下面说明机器没有安装nginx
下面准备一个全新的CentOS系统
跟上面讲的是一模一样的,唯一的区别是这台全新的系统里面什么都没有装
查看nginx显示无,然后进行yum install
nginx它去加载库,然后它告诉说没有这个包
nginx不在官方的CentOS官方软件园下面,就是说CentOS自带是没有nginx这个东西的,nginx在epel下面存在,所以说破现在来安装他
看到安装一个包,总大小什么什么的
选择y,代表yes,最后告诉我们安装好了一个epel-release
然后再安装ngnix,下载速度根据网络速度
它告诉我们安装了一个包,里面有七个依赖
然后再选择y,他就开始帮我们安装
这时候再查看下nginx -v ,可以看到已经安装好了
配置web服务器
还是用git bash来连接到服务器,web服务器基本上是配置文件来使用的
首先找到配置文件
配置文件在CentOS下面,可以看到他有个nginx.conf的文件,我们要对他进行修改
如果找不到配置文件
nginx提供了一个语法检查的一个命令 nginx -t,这样就可以找到配置文件地址
安装vim
yum install vim,安装过了就不需要
然后打开nginx.conf
输入vim nginx.conf,可以看到已经将user nginx改为了user root
然后看下http>server>location
简单说下vim的基本使用:
首先刚进来的时候他是只读模式,可以通过按住shift和冒号出现左下角这么一个标志
这个时候输入一个指令set nu
,他出现一个行号,这是制图模式
摁下键盘了里面的i字母,改成insert模式,可以看到做下角变成insert
这个时候就可以对他进行编辑了(location里面abc删掉)
改完之后怎么保存,摁下esc,insert就没有了,然后还是刚才的shift+:
,然后使用wq
:w是保存,q是退出
然后点击回车,就退回到下面这个界面
再进入nginx.conf
localtion里面有个根
是什么?打开浏览器假设0.0.0.1是ip,根就是默认使用ip去访问网站,如果刚才是/abc,要在0.0.0.1/abc才可以访问到网站,这是个区别
root代表网站路径,就是存放网站的地方,这里是/root/www/
index就是默认输入ip以后他会帮我们显示那个网站,因为网站默认都是index,比方说我的网站就是跟别人不一样,叫main.html,这个时候需要对他进行一个配置,就是他会帮你去找main.html这个文件夹
++如果说这边是index.html要怎么去访问?++
需要用0.0.0.1/index.html去访问
如果没有任何修改,则直接摁q就可以了。
建立下面这么一个文件夹
上传网站到服务器
配置的话需要用到git bash
先进行scp
命令,发现是有的啊
然后连接到远程服务器,看下远程服务器是否有这个东西,然后输入scp,也可以看到他是有的
如果没有scp的话,则进行安装:yum install openssh-client(这个openssh-client提供了一个scp的工具)
输入logout
退出服务器
./代表当前路径,*代表所有,上传到远程ip上的一个路径,回车输入密码,下面为上传的资源文件
这个时候再远程接入服务器
进来以后看下,cd进入文件夹root下面的www,并通过ls命令查看查看当前目录下,可以看到文件已经上传上来了
然后看下nginx服务,使用ps -ef | grep nginx,以下可以看到nginx正在启动
如何停止nginx呢?输入nginx -s stop即可停止
还有一个问题就是nginx启动不了,失败,这个时可能是配置的原因,可以使用nginx -t查看一下 ,如果这里告诉你语法ok,那么就ok了
cat是查看
得到如下
那我现在是不是可以通过ip来访问网站呢,输入logout看下记录
看下服务,我们服务是没有启动的,所以这时候网站无法访问
这时候直接使用 nginx -relaod(重新加载),我们可以查出没有,没有找到这个地址
这个时候使nginx去启动
这个时候再去刷新一下网站,可以看到一个网站已经可以通过公用ip的方式去访问了,那么这个访问难免有有一些麻烦,因为记录一个ip是比较难的,相比记录一个域名的话
域名购买以及解析
域名购买
然后就可以进行支付了
域名映射
打开右上角的控制台
控制台——>域名与网站——>域名——>进入域名列表
点击解析
进入下面页面,这里哟个新手引导
www跟@的区别:www就是平常输入的hhtp:www.baidu.com,@就是输入baidu.com也能访问百度,这个@就是属于www的一个隐式的存在
记录值,也就是ip地址,这个时候点击确认就解析成功了。
别忘了进行备案
结合http协议
当我们访问一个网站,浏览器回去巡展.com根服务器,找域名对应的服务器地址,也就是公用的ip地址,然后他再去找域名服务商,找到后匹配,进行第一次握手,我们服务器上面架设一台web服务器,web服务器就是向外界提供web服务的软件,这个时候就会去请求web服务器,比如说请求一个文档,首先浏览器发出一个request,然后这个web服务器(也就是nginx),发出一个response,这个就是一个握手,这个时候我们就拿到了文档资源,这个时候浏览器通过浏览器内核根据资源文件,文档数据去渲染页面,到最后就是下面看到的这个界面