Chevereto小坑 + N卡的vulkan小坑
😂准备也快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包管理器里面发现了有amdvlk
和lib32-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
;或libzip
和ZipArchive
版本过低导致无法使用在线更新
解决方式:请查看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的配置文件。