关于如何将域名解析到服务器。

准备工具:

  • 服务器已经安装nginx,通过nginx -v可以显示版本号。

  • 已经完成备案的域名。

    通过终审可以直接进行解析。

  • 一个可以访问的项目。

    比如:博客、gitbook、vue

    上面这个是gitbook的,因为本人的博客已经完成操作,直接访问会跳转。

    概念相同。

  • 一个ssl证书。

    由于我在百度的ssl证书存在问题,我选择的是腾讯的证书。

    放在自己能找到的目录就行。

认识Nginx命令。

方便接下来的操作,我在下面贴出一会部署会用到的nginx命令。

重载nginx配置文件,成功不报错。

1
systemctl reload nginx.service

停止nginx。

1
systemctl stop nginx.service

启动nginx。

1
systemctl start nginx.service

查看nginx服务状态

1
systemctl status nginx.service

重新启动nginx

1
systemctl restart nginx.service

使用http协议部署

这里提到http协议,大家都知道http协议的速度快,但是缺乏一定的安全性,这里先做一个基本的操作实现,之后我再会教大家升级到https。

如果你已经完成域名的备案并通过终审,

通过这里接入解析页面,编辑以下内容。

配置完网页之后回到服务器。

使用 vim编辑器修改nginx配置文件

1
vim /etc/nginx/conf.d/default.conf

监听80端口,并且项目目录指定/root/public

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80;
server_name weiinng.cn; #这里填写域名
client_max_body_size 75M;


location / {

root /root/weiinng.github.io; #这里是你项目的静态资源位置
index index.html; #入口文件

}
}

然后重新载入配置文件。

之后使用 http 访问地址,就可以跳过去了,https过不去,因为需要ssl证书。具体看下面。

获取ssl证书

作为一个程序员收费的东西我是不用的,除非迫不得已。

接下来给大家说一下ssl证书的获取方法。

百度云ssl证书

百度云的ssl证书地址

https://console.bce.baidu.com/cas/#/cas/apply/create~brand=SYMANTEC&certType=DV

选择上面的三个选项获取到的证书是免费的。

腾讯云ssl证书

刚开始注册百度云的时候证书不免费,但是通过腾讯可以免费使用,上面那个没有测试过但是结果肯定都是一样的。

腾讯的证书操作参考如下:

证书地址

https://buy.cloud.tencent.com/ssl?fromSource=ssl

同样选择免费的证书

进入申请页面

一路next

接下来按照给你提供的域名记录值等内容回到域名解析的网页再次添加一条解析

配置如下:

回到腾讯云的证书管理页面

压缩包解压之后就看到证书是这个样子的

我们现在使用nginx部署的 所以进入nginx文件内看到下面这两个文件

把这两个文件通过自己喜欢的方式存入服务器的root文件夹。(自己能找到的位置)

然后就完成了证书的获取

使用https协议部署

加上ssl的http就是https协议了,在速度上可能会慢一点点,应该也看不出来。

之前写过一篇文章是在阿里云服务器上用Apache切换https协议:将博客迁移阿里云并且切换成https解析的过程

​ 这一次,换成使用Nginx来部署,相比之下,比Apache的配置要简单一些

​ 如何申请SSL证书就按下不表了,非常简单,目前阿里云和腾讯云都免费提供一年的证书服务,区别就是腾讯云不需要域名在腾讯,而阿里云只有域名在阿里旗下才提供。

​ 申请域名证书成功后,下载压缩包,一定要选择Nginx的证书类型,解压后得到一个key文件一个pem文件,将这两个文件上传到服务器的root目录。

然后打开nginx配置文件

1
vim /etc/nginx/conf.d/default.conf

同时添加http和https的协议配置,需要注意的是,http需要阿里云安全协议暴露80端口,https需要阿里云安全协议暴露443端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
server {
listen 80;
server_name m9u.cn; #你解析的域名地址
#这一步是http重定向到https,也可以不写
rewrite ^(.*)$ https://${server_name}$1 permanent;
access_log /root/md_vue_access.log;
error_log /root/md_vue_error.log;


client_max_body_size 75M;


location / {

root /root/fast_vue; #静态资源所在的文件地址
index index.html;
try_files $uri $uri/ /index.html;
}

error_log /root/fast_vue/error.log error;

}

server {

listen 443;
server_name m9u.cn; #解析的域名地址
ssl on;
ssl_certificate /root/2238250_m9u.cn.pem; #证书所在的地址
ssl_certificate_key /root/2238250_m9u.cn.key; #证书key所在的地址
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

location / {

root /root/fast_vue; #静态资源梭子的地址
index index.html;
try_files $uri $uri/ /index.html;

}

}

重启nginx

1
systemctl restart nginx.service

接下来使用https:// 进行访问。

如果你配置了重定向,使用http访问后会自动跳到https增加了容错。