评论

搭建一个https网站的全过程

搭建一个https网站的全过程

概述:本着学习的目的,做了这个分享。自己切切实实的做完了整个流程,发现其中的坑也是蛮多的,当然自己的收获对应也是蛮多的。写下这个流程一方面为了加深自己的印象、可以在将来回顾一下,另一方面也是为了给有需要的人提供帮助~

一、服务器准备

为了演示方便,我购买了一台腾讯云服务器


安装的操作系统是centos

二、域名准备

1、域名注册

可以从万网上进行注册:https://wanwang.aliyun.com/

2、域名备案

备案流程略复杂,这里只列了一个步骤简介
入口:https://beian.aliyun.com/

域名的备案时间较长,建议大家提前准备起来。

3、域名解析

域名备案通过之后,为我们的网站准备一个子域名,入口:https://dns.console.aliyun.com/?spm=a2c1d.8251892.aliyun_sidebar.daliyun_sidebar_dns.37575b76kNuXEO#/dns/domainList

点击上图的解析设置

将记录值填写我们刚刚买的服务器的公网ip

三、申请ssl证书

我是从腾讯提供的证书服务里申请的,腾讯申请入口 https://console.cloud.tencent.com/ssl
点击“申请免费证书”

这里选择了手动Dns验证

申请完成后会有个表格,是说明如何Dns校验的,要求域名下添加一条解析记录

Dns校验

首先,在域名下添加一条txt记录

然后,单机自助诊断旁边的“查询”

下载证书


点击图中的下载即可

四、服务器安装软件

我用ssh连接服务器
登录服务器:ssh root@212.129.*.* , 然后输入密码(从腾讯云管理后台进行密码的设置和获取)进入服务器,然后安装软件,如下~
1、git:用于代码管理
2、nvm:用于管理node版本
3、node:用于启动web服务
4、pm2:用于守护node进程

安装git

yum install git -y

下载nvm

git clone git://github.com/creationix/nvm.git ~/nvm

设置nvm 自动运行;

echo "source ~/nvm/nvm.sh" >> ~/.bashrc
source ~/.bashrc

查询node版本

nvm list-remote

安装node.js

nvm install v10.16.3

使用nodejs

nvm use v10.16.3

使用npm安装pm2

npm install -g pm2

五、下载一个web项目 & 使用 pm2 启动

这里我使用了自己的一个github上的项目:https://github.com/myronliu/ssr-koa-react-redux.git
1、git clone https://github.com/myronliu/ssr-koa-react-redux.git
2、cd ssr-koa-react-redux
3、npm install
4、pm2 start server.js
服务启动之后如下图:

现在我们可以用IP(服务器的公网ip) + 端口号来进行访问了

六、安装nginx

步骤 1: 添加 yum 源

Nginx 不在默认的 yum 源中,可以使用 epel 或者官网的 yum 源,本例使用官网的 yum 源。
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装完 yum 源之后,可以查看一下。
sudo yum repolist

步骤 2: 安装

yum 安装 Nginx,非常简单,一条命令:
sudo yum install nginx

常用nginx命令介绍

设置开机启动

  • $ sudo systemctl enable nginx

启动服务

  • $ sudo systemctl start nginx

停止服务

  • $ sudo systemctl restart nginx

重新加载,因为一般重新配置之后,不希望重启服务,这时可以使用重新加载。

  • $ sudo systemctl reload nginx

步骤3: 打开防火墙端口

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

步骤4: 配置nginx

找到并查看配置文件/etc/nginx/nginx.conf

步骤5: 配置我们自己的conf


编写为

步骤6: 现在可以使用域名访问我们的网站了,目前是http协议的

七、安装证书

将第三步下载的证书里选择Nginx下的两个文件上传到服务器的/etc/nginx/conf.d文件夹下

Mac上利用scp上传

scp /Users/xxx/Downloads/todo.xxx.com/Nginx/1_todo.xx.com_bundle.crt root@212.129.*.*:/etc/nginx/conf.d

八、创建https的conf文件

进入到/etc/nginx/conf.d下,执行命令:touch https.conf && vi https.conf

测试nginx配置 & 重启

九、访问https协议的站点

备注:
如有问题,欢迎指出!
如有侵权,联系删除~

最后一次编辑于  2019-09-24  
点赞 10
收藏
评论

1 个评论

  • 2019-09-25

    大神,请收下我的膝盖~

    2019-09-25
    赞同
    回复 1
    • 江桥月
      江桥月
      2020-02-27
      这有啥难的0.0
      2020-02-27
      回复
登录 后发表内容