建站|网站成功迁移到容器---部署流程和框架图记录


文章目录

  • 网站成功迁移到容器---部署流程和框架图记录
    • 1.制作镜像
    • 2.部署
    • 3.服务器进行域名和https配置

网站成功迁移到容器—部署流程和框架图记录 1.制作镜像
最麻烦的就是此处,因为之前的环境都是直接安装在了服务器上。所以换服务器的话还需要重新安装。所以把环境做到容器里面就好了。
架构图如下:
【建站|网站成功迁移到容器---部署流程和框架图记录】建站|网站成功迁移到容器---部署流程和框架图记录
文章图片

具体制作流程参考我的上篇文章:
原创 把我的网站部署到容器中—解决了我每次迁移网站的痛点
这里推荐一波宝塔,真的舒服,运维人员必备:
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
2.部署
镜像制作号之后你会发现部署和迁移是如此简单。
docker pull 你制作的镜像 docker run -dti --name bloglee -p81:80 -p8888:8888 --privileged=true 你的镜像 docker exec -ti 26814fe856f1 /bin/bash /mydata/BlogLee/start.sh

首先,把你的镜像pull到本地服务器(要有docker),然后启动容器,端口映射,本地的81映射到容器80(nginx),8888即为宝塔面板,完了之后执行一个脚本启动,ojbk!
就这么easy!现在就可以通过你的服务器的81端口来访问了。
http://公网ip:81
启动脚本参考:
#!/bin/sh systemctl stop firewalld# 关闭防火墙 uwsgi --ini /mydata/BlogLee/uwsgi.ini#uwsgi启动项目 nginx -s stop nginx -c /www/server/nginx/conf/nginx.conf#nginx配置 export LC_ALL=en_US.utf-8# 环境 export LANG=en_US.utf-8 cd /mydata/BlogLee/ nohup celery -A BlogLee worker -P gevent -c 1000 > celery.log 2>&1 &# celery异步发邮件

3.服务器进行域名和https配置 本地服务器上安装nginx,这里推荐宝塔,安祖杭宝塔后,直接搜索nginx安装即可:
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
建站|网站成功迁移到容器---部署流程和框架图记录
文章图片

安装好后,首页找到nginx配置,点进去修改配置:
建站|网站成功迁移到容器---部署流程和框架图记录
文章图片

解释:
server {#监听本地80端口 listen 80; # 你的域名 server_name www.liboer.top liboer.top; # 将所有HTTP请求通过rewrite指令重定向到HTTPS。没有https就不写下边这句话 rewrite ^(.*)$ https://$host$1; # 端口转发 location / {proxy_pass http://公网ip:81; } }

ok此时,访问:http://www.liboer.top,没毛病能访问了。
然后添加ssl证书(没有的自己申请一个,免费的,直接取宝塔里申请即可,宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取),
做如下https配置:
server {listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 server_name liboer.top; #需要将yourdomain.com替换成证书绑定的域名。 root html; index index.html index.htm; ssl_certificate /www/server/nginx/conf/cert/5388063_liboer.top.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate_key /www/server/nginx/conf/cert/5388063_liboer.top.key; #需要将cert-file-name.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; #表示使用的TLS协议的类型。 ssl_prefer_server_ciphers on; location / {proxy_pass http://你的公网ip:81; } }

也是配好证书后进行端口转发
ojbk,直接浏览器访问:
https://www.liboer.top/

有任何问题,欢迎留言交流!

    推荐阅读