这个程序应该是很久没更新了,最近看到又有更新,网上也没找到预览,就想搭建一个看看。
搭建完了之后发现界面不是很好看,但是功能还比较多,并且不需要数据库,很轻量。
程序对python版本应该是有要求,我这里使用的是Debian10默认的python3.7.3。
安装需要用到的软件包/设置supervisor/nginx开机自启:
apt -y install git build-essential nginx supervisor python3-dev python3-pip python3-venv systemctl enable --now supervisor nginx
新建一个用户/切到这个用户下:
useradd -m -s /bin/bash bepasty su - bepasty
新建数据存储和日志存储用的目录:
mkdir storage logs
创建/启用python3虚拟环境:
python3 -m venv bepasty source bepasty/bin/activate
拉取项目源码/安装依赖/安装Gunicorn:
git clone https://github.com/bepasty/bepasty-server.git cd bepasty-server/ pip3 install wheel pip3 install -e . pip3 install gunicorn gevent
新建一个程序需要用到的配置文件:
nano bepasty.conf
写入如下配置:
SITENAME = 'Moonbridge' ASCIINEMA_THEME = 'monokai' MAX_ALLOWED_FILE_SIZE = 5 * 1000 * 1000 * 1000 MAX_BODY_SIZE = 1 * 1024 * 1024 - 8192 UPLOAD_LOCKED = False USE_PYTHON_MAGIC = True STORAGE = 'filesystem' STORAGE_FILESYSTEM_DIRECTORY = '/home/bepasty/storage/' SECRET_KEY = 'example' SESSION_COOKIE_SECURE = False PERMANENT_SESSION = False PERMANENT_SESSION_LIFETIME = 31 * 24 * 3600 PERMISSIONS = { 'password': 'admin,list,create,modify,read,delete', } DEFAULT_PERMISSIONS = 'read'
这里有几个需要注意的地方:
SECRET_KEY需要自己设置一个随机的字符串。其次是PERMISSIONS,下面的password改成你的密码。
另外DEFAULT_PERMISSIONS是针对访客(未登录的用户)权限,这里我配置的是read,也就是访客有查看文件的权限。
更多的配置和说明可以参考这个文件:
https://github.com/bepasty/bepasty-server/blob/master/src/bepasty/config.py
接下来切回root用户下:
su - root
新建一个supervisor的配置文件用于守护程序:
nano /etc/supervisor/conf.d/bepasty.conf
写入如下配置:
[program:bepasty] environment=BEPASTY_CONFIG="/home/bepasty/bepasty-server/bepasty.conf" directory=/home/bepasty/bepasty-server command=/home/bepasty/bepasty/bin/gunicorn bepasty.wsgi --name bepasty --workers=4 --log-level=info --bind=unix:/home/bepasty/gunicorn.sock --pid /home/bepasty/gunicorn.pid -k gevent user=bepasty autostart=true autorestart=true redirect_stderr=true stdout_logfile=/home/bepasty/logs/gunicorn_supervisor.log
启动bepasty即可:
supervisorctl update
最后新建nginx反向代理配置文件:
nano /etc/nginx/conf.d/bepasty.conf
写入如下配置:
upstream pasty_server { server unix:/home/bepasty/gunicorn.sock fail_timeout=0; } server { listen 80; server_name bepasty.imlala.best; # 换成你的域名 client_max_body_size 0; access_log /home/bepasty/logs/nginx-access.log; error_log /home/bepasty/logs/nginx-error.log; location / { proxy_set_header Host $http_host; proxy_pass http://pasty_server; } location /static/ { alias /home/bepasty/bepasty-server/src/bepasty/static/; } }
重载nginx:
systemctl reload nginx
如果需要配置ssl,安装并使用certbot即可帮你自动配置:
apt -y install python-certbot-nginx certbot --nginx
打开你的域名应该可以看到这个程序的首页,在右上角输入你在bepasty.conf内配置的密码即可登录:
程序支持粘贴板,还可以上传图片/视频/MP3等格式的文件,支持设定到期时间:
如果不用反代,用IP直接打开,端口是?
这个gunicorn配置的是套接字监听,不能直接用端口打开,如果要用端口的话,你可以把gunicorn后面的配置改为端口监听。
好的,謝謝!
问一个新手问题 像这种部署方式完成后 我想在相同的机器上再部署一个 ss+v2plugin 应该怎么写 nginx 呢?因为我不想写blog 同时直接打开域名一个 nginx 反代页面也太扎眼了 如果我在 A机器上放一个 sshwofty+ss+v2plugin B机器上放一个bepasty+ss+v2plugin 这样我应该怎么操作呢 大佬有时间水几篇教程吧 给大佬磕头.jpg
对于nginx来说本质上没有什么区别,还是反代,只需要把反代的端口改成ss的就行了,可以参考这个:https://lala.im/6434.html
我也有一个问题,拉拉缺男朋友吗?我报名排队一个
排后面吧
类似这样的程序还有别的推荐嘛,另外这个打字特效还挺爽的
有功能分开的,这个相当于是把粘贴板/临时文件分享两个功能整合在一起了。
lala有推薦的純在線剪切板嗎,windows和iPhone互發消息太麻煩了(我每次都用ssh上去copy到服務器裡)
你是要自建的还是别人搭建的公共的?自建的可以看这里,有很多:https://github.com/topics/pastebin