CUPS打印任务消失

提交打印任务后,无任务记录、无错误日志

1、可能是LPD协议太老,有兼容性问题

2、发现打印分辨率降到300dpi可以正常打印

3、可能是nginx丢弃了过大的数据

附可正常使用的nginx配置文件

server {
    listen 1631;
    server_name zero2w.local;

    # 允许较大的 IPP / 打印任务体积
    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:631;

        # 保留 CUPS 所需的 Host 语义
        proxy_set_header Host "localhost:631";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;

        # IPP 打印必须关闭缓冲
        proxy_buffering off;
        proxy_request_buffering off;

        # 防止大任务/慢打印导致超时
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
    }
}

使用Systemd管理cloudreve

创建 /etc/systemd/system/cloudreve.service

[Unit]
Description=Cloudreve Service
After=network-online.target

[Service]
#默认UMask为0022,使得0777权限被转为0755
UMask=0000
Type=simple
User=cloudreve
Group=cloudreve

# 在启动前创建 socket 父目录
ExecStartPre=/bin/mkdir -p /run/cloudreve
ExecStartPre=/bin/chown cloudreve:cloudreve /run/cloudreve

# Cloudreve 执行文件路径
WorkingDirectory=/home/cloudreve
ExecStart=/home/cloudreve/cloudreve

[Install]
WantedBy=multi-user.target

创建 /etc/tmpfiles.d/cloudreve.conf 为cloudreve在/run下新建文件夹并初始化权限

d /run/cloudreve 0777 cloudreve cloudreve -

可以用 systemd-tmpfiles –create /etc/tmpfiles.d/cloudreve.conf 来生成文件夹

最后在cloudreve的设置文件添加下面的设置项

; 启用 Unix Socket 监听
[UnixSocket]
; Unix Socket 监听路径,默认为空
Listen = /run/cloudreve/cloudreve.sock
; 设置产生的 socket 文件的权限,默认为空
Perm = 0777