这个程序应该是很久没更新了,最近看到又有更新,网上也没找到预览,就想搭建一个看看。
搭建完了之后发现界面不是很好看,但是功能还比较多,并且不需要数据库,很轻量。
程序对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等格式的文件,支持设定到期时间:
LALA
我什么都不卖了,告辞!
最新评论
5211314
能不能教我 一点不会