이것은 Nginx를 사용자 정의하려는 첫 번째 시도이며 이미 Digital Ocean Droplet에서 실행 중입니다. 내 사이트 파일은 에 있습니다 /sites/rob_app
.
- 모든 것이 속한다
rob
- 모든 파일은
0644
- 모든 디렉토리는
0755
rob
Nginx가 실행 중인 사용자를 변경했습니다 nginx.conf
. 사이트가 실행되지만 WordPress나 플러그인을 업데이트하려고 하면 다음 오류가 발생합니다.
Unpacking the update…
The update cannot be installed because some files could not be copied. This is usually due to inconsistent file permissions.: wp-admin/includes/update-core.php
Installation failed.
Nginx 오류 로그를 보면 파일 권한 문제처럼 들리지만 Nginx를 실행 중이고 rob
파일 소유자는 다음과 같습니다 rob
.
2023/01/27 01:08:51 [error] 11253#11253: *6 FastCGI sent in stderr: "PHP message: PHP Warning: copy(/sites/rob_app/subdomains/vril/public/wp-admin/includes/update-core.php): Failed to open stream: Permission denied in /sites/rob_app/subdomains/vril/public/wp-admin/includes/class-wp-filesystem-direct.php on line 309" while reading upstream, client: (redacted)), server: vril.robr.app, request: "POST /wp-admin/update-core.php?action=do-core-reinstall HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm.sock:", host: "(redacted)", referrer: "(redacted)/wp-admin/update-core.php"
모든 사이트 파일의 파일 소유자를 으로 변경 www-data
하고 Nginx가 실행 중인 사용자를 변경 하면 www-data
WordPress와 플러그인을 성공적으로 업데이트할 수 있습니다 rob
./sites/
사용하지 않는 경우 sudo
.
이유를 알 수가 없어요www-data
파일 소유자 www-data
와 같은 Nginx 취소, 하지만rob
파일 소유자 로 rob
Nginx를 실행하십시오.(스위치 간에 파일 권한이 변경되지 않은 경우에도 마찬가지입니다).
내 거 nginx.conf
:
user rob;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
# https://sysopstechnix.com/7-tips-for-nginx-performance-tuning/
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
add_header Last-Modified "";
}
답변1
Nginx의 사용자:그룹과 일치하면 FastCGI의 사용자:그룹을 변경해야 했고 모든 것이 작동했습니다.
답변2
WP-CLI를 사용하여 워드프레스 코어, 플러그인, 테마를 확인하고 업그레이드할 수 있습니다.
wp core check-update
wp core update