다음을 사용하여 나만의 맞춤형 WordPress 테마를 만들려고 합니다.밑줄 tw.
주제 위치는 다음과 같습니다./home/j/code/mechanic360/wordpress_theme/mechanic360/theme
게다가nginx지원되는 로컬 WordPress 사이트는 다음 위치에 있습니다./var/www/mechanic360/
다음 명령을 사용하여 심볼릭 링크를 만들었습니다.
sudo ln -s /home/j/code/mechanic360/wordpress_theme/mechanic360/theme /var/www/mechanic360/wp-content/themes/mechanic360
디렉토리의 내용을 나열하면 wp-content/themes
다음이 표시됩니다.
~ ❯ ls /var/www/mechanic360/wp-content/themes ✘ INT
Permissions Size User Date Modified Name
.rw-r--r-- 28 http 15 Oct 20:51 index.php
lrwxrwxrwx@ 61 root 16 Oct 16:06 mechanic360 -> /home/j/code/mechanic360/wordpress_theme/mechanic360/theme
drwxr-xr-x - http 15 Oct 20:51 twentynineteen
drwxr-xr-x - http 15 Oct 20:51 twentytwenty
drwxr-xr-x - http 15 Oct 20:51 twentytwentyone
실행 중인 WordPress 인스턴스에서 대시보드를 통해 테마로 이동하면 나열된 새 테마가 표시되지 않습니다.
권한 문제일 수 있고 http
사용 중인 사용자가 nginx
내 홈 폴더의 테마 디렉터리에 액세스할 수 없다고 생각하여 다음을 실행했습니다.
setfacl -m u:http:rwx ~/code/mechanic360/wordpress_theme/mechanic360/theme
안타깝게도 그것도 도움이 되지 않습니다. 여전히 WordPress 대시보드에서 내 테마를 볼 수 없습니다.
nginx 구성
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
include sites-enabled/*;
}
그런 다음 아래 sites-enabled
내 사이트의 구성 파일은 다음과 같습니다.
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/run/php-fpm/php-fpm.sock;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name mechanic360.local;
## Your only path reference.
root /var/www/mechanic360;
## This should be in your http block and if it is, it's not needed here.
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass php;
#The following parameter can be also included in fastcgi_params file
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
보시다시피 저는 없어요disable_symlinks
옵션설정, 기본값은 입니다 off
.
내가 무엇을 놓치고 있나요?