1

Mediawiki ファームがあり、画像表示以外はすべて機能します。画像のアップロードは、サムと一緒に正しいフォルダーに入れられるという意味で機能しますが、画像は表示されません。ただし、サイトルートの外で画像をホストし続けたいと思います。

Mediawiki のインストール先は次のとおりです: /var/www/mediawiki

画像フォルダーは /var/cats.wiki/images にあります。

私のnginx構成は次のとおりです。

server {
listen 80;
server_name cats.wiki;  #made up name for example                                                                                                                                            
root /var/www/mediawiki;                                                                                                                                                                                                                                                                                                                        
client_max_body_size 100M;                                                                                                                                                                                                                                                                                                                     

location /images {                                                                                                                                                       
alias /var/cats.wiki/images;   #relevant part                                                                                                                                 
}  
                                                                                                                                                                                                                                                                                                                                             
location / {                                                                                                                                                              
index index.php;                                                                                                                                                        
error_page 404 = @mediawiki;                                                                                                                                         
} 
                                                                                                                                                                                                                                                                                                                                           
location @mediawiki {                                                                                                                                                     
rewrite ^/w([^?]*)(?:\?(.*))? /index.php?title=$1&$2 last;                                                                                                            
}       
                                                                                                                                                                                                                                                                                                                                        
location ~ \.php$ {                                                                                                                                                         
include fastcgi_params;                                                                                                                                                 
fastcgi_pass unix:/run/php/php7.4-fpm.sock;                                                                                                                             
fastcgi_index index.php;                                                                                                                                                
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                                                                                                       
fastcgi_param MW_INSTALL_PATH /var/www/mediawiki;                                                                                                                      
fastcgi_param WIKI_PATH "catwiki.php";                                                                                                                              
}   
                                                                                                                                                            
location ~* \.(js|css|svg|png|jpg|jpeg|gif|ico)$ {                                                                                                                          
try_files $uri /index.php;                                                                                                                                              
expires 365d;                                                                                                                                                           
log_not_found off;                                                                                                                                              
gzip_static on;                                                                                                                                                         
gzip_comp_level 5;                                                                                                                                                      
access_log off;                                                                                                                                                         
add_header Cache-Control private;                                                                                                                                           
}                                                                                                                                                                   
}       

私のLocalSettingsの関連セクションでは、ロゴもブラウザに表示されません

$wgLogo = "/var/cats.wiki/images/logo.png"; 
$wgEnableUploads = true;                                                                                                
$wgUseImageMagick = true;                                                                                               
$wgImageMagickConvertCommand = "/usr/bin/convert";                                                                            
$wgUploadDirectory = "/var/cats.wiki/images";                                                                                                
$wgUploadPath = "/images";    

ありがとう!:)

4

1 に答える 1

1

あなたの質問serverからは、nginx 構成からのディレクティブがファーム全体に適用されるのか、1 つの wiki のみに適用されるのかが明確ではありません。serverすべてのウィキに対して1 つを設定できます。私は自分のウィキファームのセットアップで行います。

私のウィキファームのセットアップでは、画像フォルダーのセクションに次のように記載されています(簡略化して例に合わせて調整しています):

location ~* ^/images(?<image_subpath>/.+)$ {
    root $images_root;
    try_files $image_subpath @mediawiki;
    # ... (some code to neutralise potentially malicious uploads)
}

whereは、ディレクティブで、ディレクティブで$images_root以前に設定されています (単純化され、例に合わせて調整されています):httpmap

map $host     $images_root {
    cats.wiki /var/cats.wiki/images;
    dogs.wiki /var/dogs.wiki/images;
    # ...
}

于 2020-09-22T02:47:57.627 に答える