Cloudreve & Unix Socket

前言

看到这里你是不是很懵逼,是不是不知道这个有什么作用,是不是连Unix Socket是啥都不知道

vhost/ahdark.com.conf

诶,是不是很熟悉,原来Apache调用PHP就是使用的unix socket

那么,unix socket是什么呢?

Unix Socket

Unix Socket是一种Socket方式实现进程间通信(IPC)的功能,与普通的网络socket相比,不需要进行复杂的数据打包拆包,校验和计算验证,不需要走网络协议栈,而且安全可靠

比如常见的PHP的Socket文件 /tmp/php-cgi-74.sock

如上图,Apache通过unix:/tmp/php-cgi-74.sock与PHP通信,再将通信内容以fastcgi形式处理

但坏处显然就是,这只能在本地使用,因为unix socket地址为文件路径

所以,Cloudreve + Unix Socket就可以很好地取代http反代

而且很明显,这比http反代快得多且稳定得多

Cloudreve

这很简单,你只需要改动一点点配置文件

Apache

我很热爱Apache

这是我原来的反向代理配置,反代127.0.0.1:5212

<IfModule mod_proxy.c>
    AllowEncodedSlashes NoDecode
    ProxyPass / "http://127.0.0.1:5212" nocanon
</IfModule>

在打开Cloudreve的Unix Socket后,我改变了我的反向代理配置

<IfModule mod_proxy.c>
    AllowEncodedSlashes NoDecode
    ProxyPass / "http://unix:/tmp/cloudreve.sock" nocanon
</IfModule>

请切记修改配置文件后重启Apache

service httpd restart
# 或
systemctl restart httpd

Nginx

示例配置文件来源于https://docs.cloudreve.org/getting-started/install

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:5212;

    # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    # client_max_body_size 20000m;
}

修改后:(未经测试请慎重使用)

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://unix:/tmp/cloudreve.sock;

    # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
    # client_max_body_size 20000m;
}

你可以前往https://pan.ahdark.com测试效果,这是我的私有云盘(不开放注册)

Cloudreve & Unix Socket 的发布基于协议 AHdark Blog License。如欲对此文章内容此文章转载、修改或行使任何超出预览和分享性质的行为,请参考此协议。

评论

  1. Cian
    Android Chrome
    2年前
    2022-2-08 12:01:14

    Cloudreve 的 Unix Socket Support还是有点问题
    启动和停止时不会自动删.sock

    • 博主
      Cian
      Windows Chrome
      2年前
      2022-2-08 12:07:28

      而且,文档给的sock路径是/run/cloudreve/cloudreve.sock,但/run/cloudreve不是默认存在,如果这么设置那就会因No such files of dictionary而无法运行。所以必须手动创建目录。

      • Cian
        AH Dark
        Windows Edge
        2年前
        2022-2-08 15:18:57

        正常情况下 这个sock在关闭时会自动删除
        但是我这边不会 而且曾经跟Aaron说过这个事情

        • 博主
          Cian
          Windows Chrome
          2年前
          2022-2-08 15:19:48

          我实测免费的可以Pro不行,就离谱

  2. Tony
    Macintosh Safari
    2年前
    2022-1-01 13:26:56

    要是用 Caddy 该怎么配置?

    • 博主
      Tony
      Windows Chrome
      2年前
      2022-1-02 9:54:36

      我不会

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇