博客开发简记:给博客找个域名
Posted freeself
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了博客开发简记:给博客找个域名相关的知识,希望对你有一定的参考价值。
承接上一节,给ubuntu上的django更新一下:
./manage.py migrate
好了,我连公网ip都有了,我可不想每次都以ip来访问我的网站,那怎么弄一个域名呢?
(一)申请域名
不必研来研去了,直接在阿里云提供的服务中购买域名吧,但在下单前,你先要完成域名的信息模板的审核,意思是,你要填完你的真实信息(包括上传你的证件),通过审核后,才能继续域名的购买。域名信息模板在这个地方创建与管理:https://dc.console.aliyun.com/next/index?#/info-template/InfoTemplate
填写信息,然后邮箱验证、实名认证,请等待。
之后,在这个地方:https://mi.aliyun.com/ ,找到你想要的域名,下单掏钱。简单来说,以上两个操作的入口都在这里:
域名到手而且通过实名验证后,可以看到这样的信息:
那么,问题来了,怎么把这个域名跟服务器的ip绑定起来呢? 按下面的截图一步步操作即可:
然后,就可以通过域名来访问django了,如截图:
然后,你就会提问:还要端口?我输入网址从来都不写端口的!
(二)开放端口
是的,一般浏览器以域名访问都不需要你输入端口,因为浏览器自己加了端口,而且一般是默认的端口,比如80,这些端口是web服务器所特有的,可以固化下来,不需要你输入。但我这里还要输入,为什么?很明显是因为我的django用的端口不是默认的端口,而是3389,这么一个无厘头的端口,那怎么解决?
很自然,让django使用默认的端口呗,不要用3389了。可以,那前提就是,在阿里云管理页面,先添加默认的端口,如下面的截图操作:
这样,80端口已经可以使用了,重新启动django:
py manage.py runserver 0.0.0.0:80
如果你发现80给占用了,一般都是因为nginx启动而且占用了80,那可以先停掉nginx:
nginx -s stop 或: /etc/init.d/nginx stop
./manage.py runserver 0.0.0.0:80
知识点,发现端口给占用了,如果想知道是谁,可以使用命令lsof -i,比如看谁用了8000端口:
lsof -i:8000
然后,真的可以只用域名来访问网站了,如截图:
可是,你多操作几次,或者在微信上分享 www.freep2p.cn 给别人时,会发现,这个网站给监控到了,并且给出这样的提示:
那是因为这个网站还没有备案。
(三)网站备案
转到备案问题的处理,在 https://beian.aliyun.com/ 入手,如截图:
然后就是根据提示认真写好各项信息,其中,产品类型选择ECS(我的情况),并使用阿里云app进行人脸记录并上传证件拍照。最终,备案通过后(我的是6天后通过),可以看到这样的信息:
这时你dig一下网站,也能看到ip(备案前是查不到的):
dig +short www.freep2p.cn
现在,浏览器请求我这个网站的完整地址是: http://www.freep2p.cn ,你可能已经想到,不带https的链接会被提示不安全的。那么,怎么变成https呢?
(四)https证书的申请与使用
申请一个https的证书即ssl证书即可,如下图操作:
https://www.aliyun.com/product/cas?spm=5176.2020520163.cas.2.571656a7EIdyRc
审核通过后,把证书下载并保存好。解压证书zip,可以两个文件,一个是xx.pem,一个是xx.key。
然后就是使用证书的环节了,把这两个文件拷贝到服务器的某个目录(比如用ssh的话,scp到~/),然后找到ningx的安装目录(/etc/nginx/),在里面创建cert目录,再把pem与key移至cert目录,比如我的两个文件最后是这样的:
在修改nignx配置之前,先要解决一个问题,nginx对于ssl要使用443端口,你要保证服务器对外开放了这个端口,比如按上面的介绍,在“安全组”开放443端口。
接着就是修改nginx的配置,让它使用证书了,为了验证证书是不是可行,先写一个最简单的配置吧:
server {
server_name www.freep2p.cn;
root /root/html;
listen 443;
ssl on;
ssl_certificate cert/2762984_freep2p.cn.pem;
ssl_certificate_key cert/2762984_freep2p.cn.key;
}
下图对配置的各项进行了解释:
网站根目录是/root/html,创建这个目录,然后再创建一个index.html首页,index.html里面写一句即可:
<h2>welcome to freep2p.cn
然后service nginx restart一下,再用浏览器请求: https://www.free2p2.cn ,可以看到返回内容了:
那如果想要之前的http的请求也切换回至https,怎么办呢? 加一个转换呗:
server {
listen 80;
server_name freep2p.cn;
rewrite ^(.*)$ https://$host$1 permanent;
}
至此,你已经可以用通过url来访问我的网站了。
总结一下,本文介绍了怎么获取域名与绑定ip,也讲了怎么备案网站、怎么使用https证书,这些都是网站开发的基本东西。 接下来就是丰富网站,并且加入web服务器的问题。
以上是关于博客开发简记:给博客找个域名的主要内容,如果未能解决你的问题,请参考以下文章