静看光阴荏苒
不管不顾不问不说也不念

Pinry:一个瀑布流图片分享系统

Pinry是一个开源的,用Python写的瀑布流图片分享系统。

这里我使用docker部署,由于我这台机器的系统是archlinux,下面安装docker的步骤是基于archlinux的。

如果需要debian或者centos安装docker的方法可以在本博客搜索关键字:docker

那首先我们安装docker和docker-compose,这里再安装一个nginx用于反向代理:

pacman -S docker docker-compose nginx-mainline certbot-nginx

设置docker/nginx开机自启:

systemctl enable docker nginx

新建目录以及docker-compose文件:

mkdir -p /opt/pinry && cd /opt/pinry && nano docker-compose.yml

写入如下配置:

version: "3.5"

services:
  pinry:
    image: getpinry/pinry
    container_name: pinry
    restart: always
    ports:
      - 8087:80
    volumes:
      - /opt/pinry/data:/data

然后up起来即可:

docker-compose up -d

接下来使用如下命令创建一个管理员账号:

docker-compose exec pinry python manage.py createsuperuser --settings=pinry.settings.docker

如有需求,你现在应该编辑一下pinry的配置文件:

nano /opt/pinry/data/local_settings.py

这里可以设置pinry的一些功能:

ALLOW_NEW_REGISTRATIONS = False # 关闭用户注册
PUBLIC = False # 所有内容登录可见

修改了pinry的配置后,使其生效必须要重启pinry容器:

docker-compose restart pinry

现在你可以检查一下访问VPSIP:8087是否能够打开Pinry的WEB界面,可以的话接下来配置Nginx反向代理。

archlinux包管理器安装的nginx与debian包管理器安装的有一点区别,debian安装的nginx是帮我们做好了一些include的,但archlinux并没有,所以这里我们可以按照debian的风格来配置nginx。

创建两个目录,一个用于可用站点(存放配置文件)一个用于启用站点:

mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled

接着编辑nginx的主配置文件:

nano /etc/nginx/nginx.conf

在http块内添加如下引用:

http {
    include sites-enabled/*;
}

然后在站点可用目录内新建一个站点配置文件,用于反向代理:

nano /etc/nginx/sites-available/pinry.conf

写入如下配置:

server {
   listen 80;
   server_name  pinry.imlala.best; # 换成你的域名
   client_max_body_size 0;

location / {
    proxy_pass       http://127.0.0.1:8087;
    proxy_buffering  off;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Real-IP $remote_addr;
    }
}

最后做一个软链接即可:

ln -s /etc/nginx/sites-available/pinry.conf /etc/nginx/sites-enabled/pinry.conf

如果要关闭一个站点,现在你只需删除软链接:

unlink /etc/nginx/sites-enabled/pinry.conf

重载nginx使配置生效:

systemctl reload nginx

如果需要https,你可以使用certbot签一个ssl证书,它会自动帮你配置nginx的相关设置:

certbot --nginx --agree-tos --no-eff-email --email xxxxx@qq.com

预览:

赞(7)
未经允许不得转载:荒岛 » Pinry:一个瀑布流图片分享系统
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    我用Debian去搭建,刚开始还好好的,到了反代那开始踩坑,幸好听大佬的,发现问题看日志,然后就成功了 :!:

    Foliage4年前 (2020-09-02) Google Chrome 85.0.4183.83 Google Chrome 85.0.4183.83 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    大佬,能不能直接导入图片,而不是前台上传?

    yuss4年前 (2020-09-05) Google Chrome 85.0.4183.83 Google Chrome 85.0.4183.83 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 好像不行哦。

      LALA4年前 (2020-09-06) Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿