From bd6c5da3f7f0e8fb4c3774c533cd7daade0d534e Mon Sep 17 00:00:00 2001 From: dokuwiki <hello@example.com> Date: Sat, 23 Jan 2021 12:53:01 +0000 Subject: [PATCH] =?UTF-8?q?Wiki=20page=200=E5=9F=BA=E7=A1=80=E6=90=AD?= =?UTF-8?q?=E5=BB=BAmisskey=20changed=20with=20summary=20[[=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0VPS]=20]=20by=20ooorange?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...F%BA%E7%A1%80%E6%90%AD%E5%BB%BAmisskey.txt | 187 ++++++++++++++++++ 1 file changed, 187 insertions(+) diff --git a/pages/0%E5%9F%BA%E7%A1%80%E6%90%AD%E5%BB%BAmisskey.txt b/pages/0%E5%9F%BA%E7%A1%80%E6%90%AD%E5%BB%BAmisskey.txt index 502969c..ebe007e 100644 --- a/pages/0%E5%9F%BA%E7%A1%80%E6%90%AD%E5%BB%BAmisskey.txt +++ b/pages/0%E5%9F%BA%E7%A1%80%E6%90%AD%E5%BB%BAmisskey.txt @@ -33,4 +33,191 @@ ====è´ä¹°VPS==== - æ”¯ä»˜æ–¹å¼ * 需è¦å¯ä»¥æ”¯ä»˜çš„账户,包括并ä¸é™äºŽï¼šVisa,Mastercard,Paypal,支付å®ï¼Œå¾®ä¿¡ + - 选择供应商 + * å¯ä»¥å‚考[[https://www.10besty.com/best-vps-hosting-services/|最好的国外VPS推è]]\\ 本文以Amazon Lightsail为例 + - 访问[[https://aws.amazon.com/cn|AWS云æœåС䏻页]],注册并登录\\ 注æ„选择root user\\ 点击所有æœåŠ¡ï¼Œæ‰¾åˆ°Lightsail\\ {{wiki:misskey建站:aws_signin.png}}\\ {{wiki:misskey建站:lightsail.png}} + - 创建实例 + - 选择实例ä½ç½®ï¼šæ—¥æœ¬æˆ–æ–°åŠ å¡ + - é€‰æ‹©å®žä¾‹æ˜ åƒï¼š + * å¹³å°ï¼šLinux/Unix + * è“å›¾ï¼šä»…é™æ“作系统:Debian10或Ubuntu20 + - 选择实例计划:$5或$10的计划 + - SSH登录\\ å‚è§[[https://lightsail.aws.amazon.com/ls/docs/zh_cn/articles/lightsail-how-to-set-up-putty-to-connect-using-ssh|下载 PuTTY 并将其设置为使用ä¸çš„SSH 进行连接Amazon Lightsail]] + - åˆ›å»ºé™æ€IP\\ å‚è§[[https://lightsail.aws.amazon.com/ls/docs/zh_cn/articles/lightsail-create-static-ip|Create a static IP and attach it to an instance in Amazon Lightsail]] + - 防ç«å¢™è®¾ç½® + * 选ä¸å®žä¾‹ + * 选择è”网 + * 打开防ç«å¢™443å’Œping端å£\\ + {{wiki:misskey建站:firewall.png}} +==== DNSè§£æž==== + - 选择DNSè§£æžæœåС商 + * é€šå¸¸åŸŸåæ³¨å†Œå•†ä¹Ÿæä¾›DNSè§£æžæœåŠ¡ + * 本文选择Cloudflareçš„æœåŠ¡ + - æ·»åŠ A记录\\ 点击DNS\\ {{wiki:misskey建站:dns.png}} + * 想è¦çŸ¥é“是å¦è§£æžæˆåŠŸå¯ä»¥è¿›è¡Œä»¥ä¸‹æ“作: + * 在windowsæ“作系统上è¿è¡Œcmd命令:win+R,在窗å£è¾“å…¥cmd + * 输入命令:ping #ä½ çš„åŸŸå + * 如果æ£ç¡®è§£æžï¼Œåˆ™ä¼šå›žå¤å¸¦æœ‰æœåС噍IP地å€çš„相关信æ¯\\ 如果失败请å†ç‰ä¸€æ®µæ—¶é—´ + - 创建SSLè¯ä¹¦ + * 点击SSL/TLS,点击Origin Service + * Create Certificate\\ å¡«ä¸Šä½ çš„åŸŸå\\ {{wiki:misskey建站:ssl.png}}\\ 将两段密ç 分别å¤åˆ¶åˆ°è®°äº‹æœ¬ï¼Œä¿å˜\\ 注æ„:åŽç¼€.pemå’Œ.keyä¸è¦æžé”™ + - å°†SSLè¯ä¹¦ä¸Šä¼ 到æœåС噍 + * 通过PuTTY登录VPS,按顺åºè¾“入以下命令<code>sudo passwd root #设置root用户密ç ,务必记ä½å¯†ç +su root #æ¢æˆroot用户登录,输入刚刚设置的密ç +mkdir /etc/nginx/ssl/misskey #创建一个新目录 +nano /etc/nginx/ssl/misskey/sever_name.pem #sever_name改æˆä½ 的域å </code> + * 使用*记事本*打开.pem文件,全选å¤åˆ¶ï¼Œå›žåˆ°PuTTYå³å‡» + * ctrl+x退出,y,enterä¿å˜ + * å°†.key文件也å¤åˆ¶åˆ°/etc/nginx/ssl/misskey目录下 +====Misskey使用Docker部署==== +[[https://github.com/syuilo/misskey/blob/develop/docs/docker.zh.md|官方指å—]]\\ [[https://candinya.com/posts/play-with-misskey/|å–µçªç«™é•¿çš„æå»ºè¿‡ç¨‹]] + - 环境é…ç½® + * å¿…è¦ä¾èµ–<code>apt install git curl nginx -y</code> + * 安装Docker\\ <code>bash <(curl -L -s https://get.docker.com)</code> + * 安装Docker-compose\\ <code>curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose +ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose</code> + - 下载Misskey + * 克隆Misskey\\ <code>git clone -b master git://github.com/syuilo/misskey.git</code> + * 打开misskey文件夹\\ <code>cd misskey</code> + * æ£€æŸ¥æ˜¯å¦æœ€æ–°ç‰ˆæœ¬\\ <code>git checkout master</code> + - é…ç½®Misskey + * å¯ä»¥æŒ‰ç…§å¦‚下方å¼åˆ›å»ºé…置文件\\ <code>cd .config +cp example.yml default.yml +cp docker_example.env docker.env</code> + * 编辑docker.env\\ <code>nano docker.env</code>\\ {{wiki:misskey建站:docker.env.png}} + * 编辑default.yml\\ 修改打勾的地方,注æ„db的用户åå’Œå¯†ç æ˜¯ä¸Šä¸€æ¥ä¸docker.env文件ä¸è®¾ç½®çš„ï¼Œè¯·ä¿æŒä¸€è‡´\\ <code>nano default.yml</code>\\ {{wiki:misskey建站:default.yml.jpg}} + - é…ç½®Docker + * 回到misskeyæ ¹ç›®å½•<code>cd ~/misskey</code> + * 编辑docker-compose.ymlï¼Œæ ¹æ®ä¸‹é¢çš„代ç 适当修改\\ <code>version: "3" +services: + web: +# build: . + image: misskey/misskey:latest #自动更新 + restart: always + links: + - db + - redis +# - es + ports: + - "127.0.0.1:3000:3000" + networks: + - internal_network + - external_network + volumes: + - ./files:/misskey/files + - ./.config:/misskey/.config #å·æ˜ å°„ + redis: + restart: always + image: redis:latest + networks: + - internal_network + volumes: + - ./redis:/data + db: + restart: always + image: postgres:12.2-alpine + networks: + - internal_network + env_file: + - .config/docker.env + volumes: + - ./db:/var/lib/postgresql/data +# es: +# restart: always +# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2 +# environment: +# - "ES_JAVA_OPTS=-Xms512m -Xmx512m" +# networks: +# -internal_network +# volumes: +# - ./elasticsearch:/usr/share/elasticsearch/data +networks: + internal_network: + internal: ture + external_network: </code> + - 构建Misskey + * ä½¿ç”¨å¦‚ä¸‹æ–¹å¼æž„建Misskey\\ <code>docker-compose build</code> + * 失败的è¯ï¼Œè¯·å°è¯•å¦‚ä¸‹å‘½ä»¤ï¼Œå†æ‰§è¡Œä¸Šä¸€æ¡å‘½ä»¤\\ <code>service docker start</code> + - åˆå§‹åŒ–æ•°æ®åº“\\ <code>docker-compose run --rm web yarn run init</code> + * 如果失败,å¯èƒ½æ˜¯å†…å˜ä¸å¤Ÿï¼Œè¯·å‚考这篇教程{{https://cloud.tencent.com/developer/article/1156834|Linux解决内å˜ä¸è¶³-æ·»åŠ SWAP交æ¢åˆ†åŒº}} + - æ£å¸¸å¯åЍ\\ <code>docker-compose up -d</code> + - å代é…ç½®\\ <code>nano /etc/nginx/conf.d/misskey.conf</code>\\ æ ¹æ®ä»¥ä¸‹ä»£ç åšé€‚当修改\\ +<code># Sample nginx configuration for Misskey +# +# 1. Replace example.tld to your domain +# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/ +# or copy to /etc/nginx/conf.d/ +# For WebSocket +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_tem$ + +server { + listen 80; + listen [::]:80; + server_name f.jymuoyu.com; #ä½ çš„åŸŸå + return 301 https://$host$request_uri; + + # For SSL domain validation + root /var/www/html; + location /.well-known/acme-challenge/ { allow all; } + location /.well-known/pki-validation/ { allow all; } + location / { return 301 https://$server_name$request_uri; } +} + +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + server_name f.jymuoyu.com; #ä½ çš„åŸŸå + ssl_session_cache shared:ssl_session_cache:10m; + + # To use Let's Encrypt certificate + ssl_certificate /etc/v2ray/rss.jymuoyu.pem; #ä½ çš„sslè¯ä¹¦å˜æ”¾è·¯å¾„ + ssl_certificate_key /etc/v2ray/rss.jymuoyu.key; + + # To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate) + #ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; + #ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; + + # SSL protocol settings + ssl_protocols TLSv1.2; + ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SH$ + ssl_prefer_server_ciphers on; + + # Change to your upload limit + client_max_body_size 80m; #ä¸Šä¼ æ–‡ä»¶çš„æœ€å¤§é™åˆ¶ + + # Proxy to Node + location / { + proxy_pass http://127.0.0.1:3000; + proxy_cache_bypass $http_upgrade; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_http_version 1.1; + proxy_redirect off; + + + + + # For WebSocket + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + # Cache settings + proxy_cache cache1; + proxy_cache_lock on; + proxy_cache_use_stale updating; + add_header X-Cache $upstream_cache_status; + } +}</code> + - 执行控制å°å‘½ä»¤ + * 执行æ¤é¡¹å‘½ä»¤å‰ï¼Œå…ˆåŽ»ä½ çš„ç½‘ç«™æ³¨å†Œä¸€ä¸ªç”¨æˆ·\\ <code>docker-compose run --rm web node built/tools/mark-admin @example #exampleæ¢æˆä½ 的用户å</code> -- GitLab