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

Posted 大聪明Smart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站成功迁移到容器---部署流程和框架图记录相关的知识,希望对你有一定的参考价值。

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

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/

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

以上是关于网站成功迁移到容器---部署流程和框架图记录的主要内容,如果未能解决你的问题,请参考以下文章

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

把我的网站部署到容器中---解决了我每次迁移网站的痛点

把我的网站部署到容器中---解决了我每次迁移网站的痛点

把我的网站部署到容器中---解决了我每次迁移网站的痛点

MySQL 迁移至 SQLite 问题记录

不使用SSH工具, 部署网站到火腿云服务器