不忘初心,
牢记使命。

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

2021-10-06 大聪明 0评论 40 0喜欢

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

1.制作镜像

最麻烦的就是此处,因为之前的环境都是直接安装在了服务器上。所以换服务器的话还需要重新安装。所以把环境做到容器里面就好了。

架构图如下:

docker-web

具体制作流程参考我的上篇文章:

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

这里推荐一波宝塔,真的舒服,运维人员必备:

宝塔服务器面板,一键全能部署及管理,送你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元礼包,点我领取

image-20211006155327942

安装好后,首页找到nginx配置,点进去修改配置:

image-20211006155819890

解释:

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/

image-20211006160248781

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

发表评论 取消回复

电子邮件地址不会被公开。

请输入正确格式的qq邮箱
请输入以http或https开头的URL,格式如:https://libo_sober.top