概述:本着学习的目的,做了这个分享。自己切切实实的做完了整个流程,发现其中的坑也是蛮多的,当然自己的收获对应也是蛮多的。写下这个流程一方面为了加深自己的印象、可以在将来回顾一下,另一方面也是为了给有需要的人提供帮助~
一、服务器准备
为了演示方便,我购买了一台腾讯云服务器
安装的操作系统是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协议的站点
备注:
如有问题,欢迎指出!
如有侵权,联系删除~
大神,请收下我的膝盖~