服务器域名解析与nginx配置

    最近搭建了个阿里云服务器,然后买了个域名,准备和服务器绑定起来,用来访问项目,下面分享一下步骤。

    首先当然是购买域名购买服务器,然后在阿里云或者腾讯云的域名控制台进行域名的实名认证等等信息,关键的步骤在于域名解析及域名备案,域名解析很简单

服务器域名解析与nginx配置

如图所示,就是点击这个解析,然后进入解析页面

服务器域名解析与nginx配置

主要修改的就是主机记录和记录值了,可以看出来主机记录其实就是域名前的访问地址,记录值就是服务器的ip地址,这就算解析完成了,然后就是进行域名备案,这一步比较繁琐,但是阿里云有完整的教程我就不再赘述了。

    这样一个域名和服务器就绑定了,但是我们的项目往往是部署在tomcat'下的,那么默认的端口就是8080的,可以从上面看出,域名只绑定了ip,不绑定端口,那么访问就会访问默认的端口80,那么怎么通过域名访问项目呢?有很多办法了,可以在tomcat改地址等等,我使用的是nginx分发,其实nginx的作用很多样,请求分发只是很小的一部分,更多的作用如负载均衡,访问外网,动静分离等等,既然提到了就稍微介绍下,所谓的负载均衡其实就是请求分发,试想一下加入我们的项目部署在一个服务器上,一些人用肯定没问题,但是用户数量很大时该怎么办呢?这时候nginx就可以出场了,他能够将访问服务器的请求分发给不同的多个服务器,让他们处理,这就类似于服务器自己去做了个代理,让别的服务器代理喔做服务,这就是所谓的反向代理,名字听着高端其实是很朴素的东西,这样问题就来了,那么多台服务器,假如我上一个操作在这台服务器,下一个操作在另一台,那么我的状态怎么共享呢?这就是所谓的session共享,最无脑的操作当然就是将用户和服务器绑定,你第一次进入的是我这台服务器处理的,之后也是我处理,但是这样不好动态分配请求来保证每个服务器处理请求差不多,都能有好的性能,那么这时候redis的作用就出来了,它能够很好的做session共享,这个又比较远了,了解即可。访问外网和所谓的绑定域名其实都是基于这个请求转发的原理了,都是把请求再去转发一次到真实的url。nginx还有其他的什么动静分离等功能,总的来说nginx是一个很好的负债均衡的工具,而zookeer这些则更倾向于分布式工具。

    那么我配置好nginx之后访问对应ip的80端口,但是一直访问失败,那么就要查找原因,首先查看防火墙服务,由于我的是centos7系统,使用的命令是systemctl statsu firewalld.service查看防火墙服务是否开启,开启就关闭防火墙,但是关闭了防火墙还是访问不了,而在服务器内部curl http://127.0.0.1:80却可以获得数据,那么很明显,问题出现在了服务器的配置上,去阿里云里将安全组添加一个80端口,果然可以正确访问了。