原文地址:https://lala.im/7609.html,請支持原作者!該處僅作轉載。
这个程序应该是很久没更新了,最近看到又有更新,网上也没找到预览,就想搭建一个看看。
搭建完了之后发现界面不是很好看,但是功能还比较多,并且不需要数据库,很轻量。
程序对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等格式的文件,支持设定到期时间: