董川民 发布的文章

阿里云服务器数据从一个账号转移到另一个账号(跨号迁移)

目前阿里云的域名可以从一个账号,转移到另一个账号,但是整个服务器却不能转移。

我们说到阿里云服务器一般是指服务器的IP + 服务器的数据。无论是服务器的公网IP还是服务器的弹性IP,都不能从一个账号转移到另一个账号,但是服务器的数据是可以转移的。

云服务器数据跨号转移步骤:
1,给目标服务器的系统盘和数据库做一个全新的快照备份。
2,如果希望从一个账号的A区域【比如华东1(杭州)】,转移到另一个账号的B区域【比如华东2(上海)】,此时可以先把当前快照从A区域复制到B区域,在快照列表,每一个快照的右边菜单中,有“复制快照”功能。
3,然后给快照“创建自定义镜像”,创建镜像时,注意要把系统盘和数据盘一起创建。
4,在镜像列表右边,每个镜像都有“共享镜像”功能,共享时,要求输入另一个账号的aliyunUID,这个UID不是我们的登录账号,而是登录之后,到账号安全设置页去找账号ID,类似数字:1943894302526557。
5,共享成功后,就可以到另一个账号对应的区域去看镜像列表,是不是能看到共享过来的镜像。
6,然后再给该镜像创建实例,就完成了服务器数据跨号迁移。

阅读剩余部分

APICloud上传苹果开发者证书编译打包iOS APP,并实现极光推送

一,先制作苹果开发者证书。现在是2020年8月份,苹果这个证书配置界面又改版了,左侧菜单更精简了。

1,首先你要申请一个苹果开发者平台的公司级开发者账号,一年688元那种,申请过程本文不累述

2,https://developer.apple.com/,登录开发账号,选择“Certificates, Identifiers & Profiles”,进入证书配置界面。

3,创建Identifiers,定义APP的包名

A,首选菜单“Identifiers”,点击添加图标
B,选择“App IDs”,点击Continue
C,选择App,点击Continue
D,描述随便取,Bundle ID选Explicit,然后取一个恰当的全球唯一的包名,比如com.fuckme.soft;下面Capabilities要勾选Push Notifications,这是为了实现消息推送,点击Continue
E,确认页面,点击Continue
F,最后点击Register,完成创建

阅读剩余部分

阿里云把一台服务器的IP转移到另一台服务器上

需求背景:一台老服务器即将到期了,考虑到老服务器是几年前买的,无论是CPU、内存、硬盘各种参数,还是操作系统都比较过时了,运行速度也较慢,因此需要购买一台新服务器,安装新的操作系统,然后把老服务器的数据转移到新服务器上。还有一点很重要,就是IP不能变,不然一些客户要日人。

经过查询阿里云官方资料,了解到一个新东西:弹性IP

当我们购买云服务器时,按照阿里云的产品引导一步步往下选,其中有一项叫“公网IP”,默认勾选了“分配公网IPV4地址”,以前没有注意,其实这里可以不勾选的,如果不勾选,意味着这台服务器配置没有IP,也就没有宽带选项。IP和宽带是绑在一起的。如果不勾选分配公网IP,那么配置出来的服务器,就不能和外网通信,只能在服务器里,或者服务器之间用内网IP访问。

阅读剩余部分

SQL Server迁移数据库文件(ldf&mdf文件)到其他盘

SQL Server安装时,默认都安装在C盘,包括数据库文件的默认位置也是C盘,一般路径是C:/Program Files/Microsoft SQL Server/MSSQL14.MSSQLSERVER/MSSQL/DATA

这就有2个问题:
1,随着时间的推移,数据库文件会增多增大,会逐渐占据C盘空间。不过现在的云服务器都能给系统盘C盘扩容,如果不是云服务器呢?扩容还是有很大的风险的。
2,如果系统盘C盘出问题怎么办?被格式化了,被病毒感染了怎么办?维护服务器,首要考虑就是系统被干了,但数据还健在。

阅读剩余部分

jQuery实现拖动,且拖动时不触发点击事件

jQuery实现拖动是网上抄的代码,但发现有一个JavaScript拖动时触发点击事件的BUG,让基友老嫖给修复了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            #move{
                width: 200px;
                height: 200px;
                background-color: red;
                position: absolute;
                cursor: move;
            }
        </style>
    </head>
    <body>
        <div id="move">Hello World!</div>
    </body>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $('#move').on('mousedown', function(e) { //鼠标按下
            // 判断一下这个按下是点击还是拖动
            var isClick = true;

            $(document).on('mousemove', (e) => {//鼠标移动
                let left = e.clientX - $(this).width() / 2//计算元素left值
                let top = e.clientY - $(this).height() / 2//计算元素top值

                top = suan(top, 0, $(document).innerHeight() - $(this).height())//调用封装的方法
                left = suan(left, 0,$(document).innerWidth() - $(this).width())//调用封装的方法
                $(this).css({ //给盒子设置坐标
                    left,
                    top
                })
                //拖动后,把isClick设为false,后面就不会执行点击事件
                isClick = false;

                e.preventDefault();
            })
            $(document).on('mouseup', (e) => {//鼠标抬起
                //当isClick为true时,就执行点击事件
                if( isClick ){
                    msgboxurl()
                }
                $(document).off('mousemove mouseup')//移除鼠标移动、鼠标抬起事件
            })
        })
        function suan(o, min, max) { //重复封装
            o < min ? o = min : o > max ? o = max : ''//限制出界
            return o
        }
        function msgboxurl(){
            alert("点击效果");
        }
    </script>
</html>

阅读剩余部分