😂准备也快2022年了,提前预祝各位女士先生新的一年身体健康、万事如意。生多一年算一年

这次个文章讲实话拖了一个月才开始写的,因为考试嘛,所以3号到31号也忘的七七八八。我就直接开始写啦,有对也可能有错,全靠印象。印象派

更多是带有记录性质的日记形式? i think.

Vulkan refuses to work

本人笔记本电脑配置是Nvidia 1050Ti Mobile + Intel的核心显卡。原因发现在终端用lutris命令启动时发现的,显示大概是说当前显卡不支持vulkan或没有安装vulkan相关软件包的提示。而且明显能感觉之前支持Vulkan的游戏都变卡好多,预估是用dx渲染的。

随后我用vulkaninfo检测,直接就报错,记得是带有这个类似的日志ERROR:

vkCreateInstance failed with ERROR_OUT_OF_HOST_MEMORY

解决方式:真系奇葩到爆炸,我在pacman包管理器里面发现了有amdvlklib32-amdvlk,于此同时在/usr/share/vulkan/icd.d/也能发现相关的文件。

pacman -Rs amdvlk lib32-amdvlk之后,删除这两个软件包,重启电脑就解决问题,感觉是vulkan被这两个驱动包蒙蔽了双眼👀。

Link: https://bbs.archlinux.org/viewtopic.php?id=262694

Chevereto图床搭建相关问题

这个就更加离谱,有些细节问题直接搞到我头都爆炸。

搞私人图床首先是自己的服务器闲着也是闲着,直接拿着用吧。其次是为了避免一些过分到头的图片检查,我放在一些公用图床上的图老是被吞掉,很烦,而且明明没有违规。

整个流程都在我自己的一台国内阿里云的 CentOS 7上面部署的,一开始想用docker搞,结果是我切换到了清华源或者阿里云都不太行,Chevereto的Docker居然要到GitHub上面搞文件下来,这在极为糟糕的国内网络环境下面是行不通的。所以呢,我就选择自己去手动搭建了,自己安装相关的依赖和环境。

文档问题

其实去看官方文档的话,看的整个人都是蒙掉的,因为它不会一步教你去做什么事情,教你如何简单的部署。只会指出这个参数的描述之类的,果然全世界的开发者都不喜欢写文档。

我跟这个大佬的blog搞的:https://www.dqzboy.com/1831.html

这个blog的图片有点问题,要右键开个新标签页才能看清。这里需要你自己去查询下nginx的配置文件和部署流程是什么情况。

之后想配SSL证书的,自己在nginx上面配上在阿里里面下好的证书,改写80端口为443端口并重定向。国内域名都是要实名的,所以只能挂阿里自己家的。

顺带一份我自己配的chevereto.conf文档:

server {
    listen 443 ssl;
    server_name your.domain.site_or_ip;
    root /var/www/html/chevereto;

    index index.php;
    
    # 这里是申请的ssl证书的存放地址
    ssl_certificate "/etc/nginx/cert/img.pem";
    ssl_certificate_key "/etc/nginx/cert/img.key";
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    # fastcgi configurationg
    location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            # fastcgi_pass    unix:/dev/shm/php-cgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
    }

    # Image not found replacement
    location ~* (jpe?g|png|gif) {
            log_not_found off;
            error_page 404 /content/images/system/default/404.gif;
    }

    # CORS header (avoids font rendering issues)
    location ~ .(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
            add_header Access-Control-Allow-Origin "*";
    }

    # Pretty URLs
    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
}
# 接受http访问, 并进行301重定向
server  {
    listen 80;
    server_name img.blacksand.top;
    if ($request_method = GET) {
        return 301 https://$server_name$request_uri;
    }
    return 308 https://$server_name$request_uri;
}

Chevereto release下载问题

这个都几搞笑,而且浪费了我至少两个小时的时候进行部署,让我感觉到这充斥开发者满满的恶意。我不知道这算不是一个坑,但是它至少对我,或者部分人来说,是隐形坑,有些人可能几个钟甚至一天都爬不出来。

Chevereto-free - Github上面下载release的时候,记得用类似于:

# 真正的程序包
wget https://github.com/rodber/chevereto-free/releases/download/1.6.1/1.6.1.zip

而不是:

# source code
wget https://github.com/rodber/chevereto-free/archive/refs/tags/1.6.1.zip

Github上面源码压缩包的命名跟release的tag是一样的,然后开发者将tag和发行包都只命名版本号。反正我当时就错下了源码包,还在想为什么没法在nginx上部署出网页,总是403或者500等一堆错误。

最新版本的Chevereto-free已经移除了多语言支持,想用中文的请转向使用1.4.2版本。

Chevereto 内置的在线更新无法使用

如果你不想自动更新或者没需求,你完全可以不管这个自动更新,我个人是不建议修,很麻烦。

Can’t write into /app/install/update/temp/ path

解决方式:在Chevereto部署目录下进入/app/install/update/自己手动建立temp文件夹并给予足够权限。原因是Chevereto无法自己创建文件夹或者权限不足。

由于PHP缺少ZipArchive;或libzipZipArchive版本过低导致无法使用在线更新

解决方式:请查看PHP 扩展 ZipArchive 安装Linux安装php的ZipArchive扩展模块[Centos]

这两篇文章虽然比较老旧,但是也足够解决问题,雷有点多需要自己慢慢排。CentOS7包管理自带的libzip版本真的太低了。所以有可能需要自己编译libzip之后,才能继续编译安装ZipArchive。而且make也有可能版本太低所以没办法进行编译的,一环扣一环,都需要自己卸载,然后手动编译安装。

Chevereto 上传图片大小限制

需要修改三处地方:Chevereto的管理员后台、nginx配置文件、PHP配置文件

Chevereto后台:自己使用admin的帐号登录后台,在图片上传设置中设置大小,一般不超过nginx和PHP配置的大小。

nginx:编辑vim /etc/nginx/nginx.conf(这个文件每个人位置可能不太一样),添加client_max_body_size并修改为

server 
{ 
    client_max_body_size 20M; 
    //other lines… 
}

记得重新加载nginx的配置文件。

PHP:编辑vim /etc/php.ini(这个文件每个人位置可能不太一样),根据需求修改下列参数:

max_execution_time = 60
max_input_time = 60
memory_limit = 512M
post_max_size = 20M
upload_max_filesize = 20M

记得重新加载PHP的配置文件。

PicShow

Link