<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud on Lutong's Homepage</title><link>https://www.elliot98.top/tags/cloud/</link><description>Recent content in Cloud on Lutong's Homepage</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 25 Mar 2019 17:46:13 +0800</lastBuildDate><atom:link href="https://www.elliot98.top/tags/cloud/index.xml" rel="self" type="application/rss+xml"/><item><title>技术摘要| 服务器迁移记录 Seafile 和 Gitea 迁移记录</title><link>https://www.elliot98.top/post/tech/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95-seafile-%E5%92%8C-gitea-%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95/</link><pubDate>Mon, 25 Mar 2019 17:46:13 +0800</pubDate><guid>https://www.elliot98.top/post/tech/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95-seafile-%E5%92%8C-gitea-%E8%BF%81%E7%A7%BB%E8%AE%B0%E5%BD%95/</guid><description>&lt;h1 id="服务器迁移记录-seafile-和-gitea-迁移记录"&gt;服务器迁移记录 Seafile 和 Gitea 迁移记录&lt;/h1&gt;
&lt;h2 id="原因"&gt;原因&lt;/h2&gt;
&lt;p&gt;我长期以来一直使用 &lt;strong&gt;滴滴云&lt;/strong&gt; 作为主力服务器使用，这台服务器是1 core 1 GB 的配置。带宽 10 M，按量计费。有两块 20g 硬盘构成。之所以选用滴滴云主要是价格非常便宜，这个配置只需要 22 块钱一个月，个人用户流量也用不了太多。非常便宜。&lt;/p&gt;
&lt;p&gt;说起回归阿里云的原因，是由于一起事故引发的。前几日，我临时在滴滴云上部署了 &lt;a href="https://ertuil.top/page/%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%81%E7%A7%BB"&gt;iGEM 招新登记系统&lt;/a&gt; 系统。我参加了 2018 年的 iGEM 比赛。回国之后自然要招收新的同学，于是临时写了这样的一个网站。过了几天之后，突然在一天崩溃，文件系统损坏。现象是 ip ping 不通，ssh 登录不了，控制台显示机器失联。我从早上8点开始联系客服人员，直到下午三点左右才恢复工作。&lt;/p&gt;
&lt;p&gt;此前，滴滴云也发生过一次乱扣费的现象。这些事情，让我认识到，滴滴云作为新的 IDC 厂家，技术上还是不稳固的。因此决定迁移回阿里云。&lt;/p&gt;
&lt;h2 id="购买服务器"&gt;购买服务器&lt;/h2&gt;
&lt;p&gt;最终购买了一台 2C4GB 的服务器（钱包空了）。并准备开始把之前的服务迁移过来。之前的服务器上一共运行有四个服务，一个自建的博客系统，一个私有云，一个私有 git 库以及临时部署的招新系统。除了博客是 angular 静态页面，其他全部使用 docker 部署，因此迁移起来问题不大。&lt;/p&gt;
&lt;h2 id="转移-seafile"&gt;转移 Seafile&lt;/h2&gt;
&lt;p&gt;我使用了很久一段时间的 &lt;code&gt;nextcloud&lt;/code&gt; ，可是一直觉得不能很好的真正利用上这个软件，于是决定该用 Seafile ，实测好用。Seafile 使用的官方 docker 镜像。转移主要有几个步骤。&lt;/p&gt;
&lt;p&gt;第一是把镜像中 &lt;code&gt;/shared&lt;/code&gt; 下的全部文件通过 scp 或者 rsyne 同步到新服务器对应位置。&lt;/p&gt;
&lt;p&gt;修改 run.sh 把服务器运行起来。我一般习惯测试时使用 tmux 前台跑 docker 镜像。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;docker run -it --name seafile\
  --net mynet\
  --ip 172.33.0.2\
  --restart=always -e SEAFILE_SERVER_HOSTNAME=cloud.ertuil.top\
  -e SEAFILE_ADMIN_EMAIL=&amp;lt;your email&amp;gt;\
  -e SEAFILE_ADMIN_PASSWORD=&amp;lt;your password&amp;gt;\
  -v /opt/seafile:/shared\
 seafileltd/seafile:latest
mysqldump -uroot -p123 --opt ccnet_db &amp;gt; ccnet_db.sql
mysqldump -uroot -p123 --opt seafile_db &amp;gt; seafile_db.sql
mysqldump -uroot -p123 --opt seahub_db &amp;gt; seahub_db.sql
docker exec -it seafile bash
mysql -uroot ccnet_db &amp;lt; ccnet-db.sql
mysql -uroot seafile_db &amp;lt; seafile-db.sql
mysql -uroot seahub_db &amp;lt; seahub-db.sql
server {
       listen 80;
       server_name cloud1.ertuil.top cloud.ertuil.top;
       client_max_body_size 4G;
       location / {
               add_header &amp;#39;Access-Control-Allow-Origin&amp;#39; &amp;#39;*&amp;#39;;
               add_header &amp;#39;Access-Control-Allow-Credentials&amp;#39; &amp;#39;true&amp;#39;;
               proxy_set_header Host $host;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_pass http://172.33.0.2;
       }
}
​
server {
   listen 443;
   server_name cloud.ertuil.top cloud1.ertuil.top;
   ssl on;
   ssl_certificate /root/keys/cert.pem;
   ssl_certificate_key /root/keys/privkey.pem;
   client_max_body_size 4G;
   location / {
       add_header &amp;#39;Access-Control-Allow-Origin&amp;#39; &amp;#39;*&amp;#39;;
       add_header &amp;#39;Access-Control-Allow-Credentials&amp;#39; &amp;#39;true&amp;#39;;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://172.33.0.2;
   }
}
docker run -d --name git\
        --net mynet\
        --ip 172.33.0.3\
        -v /opt/gitea:/data\
        -p 3000:3000\
        -p 2222:22\
        --restart=always\
       gitea/gitea:latest
​
server {
       listen 80;
       server_name ertuil.top www.ertuil.top my.ertuil.top;
​
       rewrite ^(.*)$ https://$host$1 permanent;
​
}
​
server {
       listen 443;
       server_name ertuil.top www.ertuil.top my.ertuil.top;
​
       ssl on;
       ssl_certificate /root/keys/cert.pem;
       ssl_certificate_key /root/keys/privkey.pem;
​
       location / {
               root /opt/blog;
               try_files $uri $uri/ /index.html @router;
       }
​
       location @router {
               rewrite ^.*$ /index.html last;
       }
}
​
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>