1 背景
首页站点为一个导向型站点,站点部署完毕后,需要分别导向到运维、博客、项目和开发等站点,本篇承接上篇《docker-compose 部署nginx》知识点的延续,
- 运维站点使用的是jenkins,用于日常工作和个人练习中的自动化部署工作
- 博客站点为django开发的个人博客站点,发表个人的技术和生活记事
- 项目站点为展示介绍工作中和生活中经历的项目
- 开发站点为搭建的一个jupyter server站点在线写一些shell脚本和python代码
本文以运维站点的二级域名设置进行展开说明
jenkinx服务器部署不再本篇做介绍,如果需要了解jenkins部署,参考《云服务器搭建个人站点-之-站点搭建》篇中的jenkins部署 章节
2 思路
一个站点访问的优化过程
1、直接使用IP和端口访问
部署完毕后再浏览器中输入
http://IP:Port
即可正常访问站点,基本功能已经实现了,域名的引入可以使用
2、使用域名和端口访问
http://域名:port
进行访问,站点的可读性和易操作性比之前更好点了
3、使用二级域名访问
二级域名的引用可以直接使用
http://devops.域名
进行访问,可以不直接暴露站点的端口,使用过程中也简化了输入,毕竟访问一个站点,默认是不想输入端口的。
4、使用https协议访问
https://devops.域名
3 设置
本篇的设置从**“第3使用二级域名”**开始
3.1 准备工作
二级域名设置之前需要提前再域名注册网站上申请二级域名和证书。申请成果后下载到需要部署的服务器上。为后续设置https协议做准备工作
3.2 二级域名设置
使用nginx配置测设置
找到nginx的配置文件夹/data/nginx/conf.d
创建配置文件以 domain.conf为例进行
注意:文件必须是conf后缀,不然nginx启动的时候读取不到。
可以再data/nginx/nginx.conf
查看验证
3.2.1、创建配置文件
vi /data/nginx/conf.d/domain.conf
{
listen 80;
server_name devops.jjyard.xyz;
location / {
proxy_pass http://59.110.138.94:8099;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3.2.2、配置后重启nginx
验证文件语法格式
/ # nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/ #
格式无误后重启nginx(配置文件如果有问题无法重启成果)
nginx -s reload
3.3 验证
浏览器中输入
http://devops.域名
正常访问,
在url前有一个不安全的小图标。接下来通过使用设置SSL来使用https访问,使网站数据传输更加安全。
3.4 设置SSL
将申请的二级域名的证书放置到对应的目录,在本篇中为
/data/nginx/letsencrypt 会自动影射到容器的/etc/letsencrypt目录下
编辑配置文件
vi /data/nginx/conf.d/default
在文中新增如下内容
域名对应成自己的站点域名
IP和PORT更换为自己服务器的IP和端口
server {
listen 443 ssl;
server_name devops.jjyard.xyz;
ssl_certificate /etc/letsencrypt/devops.域名_bundle.crt;
ssl_certificate_key /etc/letsencrypt/devops.域名.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://IP:PORT;
}
}
检测一下文件格式
nginx -t
无误后重启nginx
nginx -s --reload
浏览器中输入https://devops.域名
访问
目前保留了http和https的访问,可以在将将在使用http访问的时候,跳转至https,增加访问的安全性
修改/data/nginx/conf.d/default.conf
添加如下信息
#填写绑定证书的域名
server_name devops.域名;
#把http的域名请求转成https
return 301 https://$host$request_uri;
检测一下文件格式
nginx -t
无误后重启nginx
nginx -s --reload
浏览器中输入http://devops.域名
站点会自动跳转至https://devops.域名
已上为二级域名的设置过程,其他项目、博客和开发三个站点类似设置步骤。