Vì vậy, tôi đang đăng một câu trả lời, bởi vì sau hai lần cài đặt lại sạch, tôi đã đặt mọi thứ nhưng khác (theo quan điểm của tôi).
Như tôi đã nói ở trên, tôi phải đối mặt với một tình huống khó xử, vì không có cấu hình nào tôi có giống với bất kỳ câu trả lời nào khác mà tôi có thể tìm thấy.
Ví dụ :
Thư mục /etc/nginx của tôi về cơ bản được cấu thành như sau:
|- /etc/nginx/
| |- conf.d/
| | |- mặc định.conf
| |
| |- fastcgi_params
| |- mime.types
| |- mô-đun/ -> /usr/lib/nginx/mô-đun
| |- nginx.conf
| |- scgi_params
| |- uwsgi_params
Không có /sites-available hoặc /sites-enabled như đã thấy ở khắp mọi nơi, fastcgi-php.conf được đề cập thực sự là một fastcgi_params trong thư mục gốc, do đó mặc định của tôi không có trong thư mục site-sẵn sàng.
Đây là hai tệp cấu hình tôi hiện có (tên miền ẩn dưới my_domain.com):
Đầu tiên: nginx.conf (gần như không bị ảnh hưởng)
người dùng nginx;
worker_processes tự động;
thông báo error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
sự kiện {
công_nhân kết_nối 1024 ;
}
http {
bao gồm /etc/nginx/mime.types;
bao gồm /etc/nginx/sites-available/*.conf;
ứng dụng default_type/octet-stream;
log_format chính '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log chính;
gửi tệp trên;
#tcp_nopush bật;
keepalive_timeout 65;
#gzip trên;
bao gồm /etc/nginx/conf.d/*.conf;
}
Thứ hai là /etc/nginx/conf.d/default.conf
người phục vụ {
nghe 80;
server_name my_domain.com www.my_domain.com;
địa điểm / {
gốc /var/www/www.my_domain.com;
chỉ mục index.php index.html index.htm;
}
#lỗi_trang 404 /404.html;
# chuyển hướng trang lỗi máy chủ sang trang tĩnh /50x.html
#
error_page 500 502 503 504 /50x.html;
vị trí = /50x.html {
gốc /var/www/www.my_domain.com;
}
# ủy quyền tập lệnh PHP để nghe Apache trên 127.0.0.1:80
#
#vị trí ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# chuyển tập lệnh PHP tới máy chủ FastCGI đang nghe trên 127.0.0.1:9000
#
vị trí ~ \.php$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
#if (!-f $document_root$fastcgi_script_name) {
# trả về 404;
#}
gốc /var/www/www.my_domain.com;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
bao gồm fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Tôi cũng đã thêm một dòng
văn bản/php php;
đến mime.types
Tôi cũng nhớ xóa bộ nhớ cache của my_domain trong các trình duyệt tôi sử dụng (Firefox, Opera và Chrome).
Tuy nhiên, tập tin vẫn được tải xuống.
Tôi đã làm gì sai ?
Chỉnh sửa: vì tôi muốn tạo một blog.my_domain.com, shop.my_domain.com và forum._mydomain.com, tôi đã tạo thư mục /site-available và /site-enabled, dự định tạo một blog/forum/shop .my_domain.com.conf trong mỗi thư mục cùng tên nằm trong /sites-available, nhưng tôi đang chờ một cấu hình hoạt động để hiển thị chúng trong nginx.conf (với một dòng bao gồm, phải không?).
Vì vậy, tôi thực sự không hiểu cách hoạt động của hai thư mục này. Các tên miền phụ có bản ghi CNAME được đặt thành my_domain.com.
Tôi cũng đã đọc về cách tạo liên kết tượng trưng cho các trang web phụ này, nhưng tôi thực sự không biết từ đâu đến đâu?
Cảm ơn một lần nữa
Nhật ký lỗi cho tôi biết kết nối tới /var/run/php/ bị từ chối. người dùng mặc định là www-data www-data, nhưng người dùng nginx mặc định của tôi là nginx (nếu tôi thay đổi nó, nó thậm chí không bắt đầu.)
Tôi có nên làm một
chown nginx:nginx /var/run/php/
?