vì vậy tôi đang chạy một máy chủ Ubuntu 20.04, với Nginx trên đó.
Sau một tuần khó khăn, tôi đã làm cho nó chạy bình thường, bao gồm cả php cho đến php-fpm.
Vấn đề của tôi là tôi không muốn có hàng trăm thư mục trong thư mục gốc của trang web (được đặt tại /var/www/www.my-domain.com/), vì vậy tôi muốn đặt tất cả các tiện ích mở rộng liên quan đến php mà tôi cài đặt (chẳng hạn như phpmyadmin và IceCoder cho đến nay) trong một thư mục khác (giả sử /var/php/) và liên kết tất cả các yêu cầu của chỉ mục php từ thư mục gốc (như nếu tôi gõ https://my-domain.com/icecoder hoặc https://my-domain.com/phpmyadmin) để chuyển hướng tôi đến thư mục chứa các tệp index.php của chúng.
Các vấn đề với đó là:
- đầu tiên, tôi không biết cách làm cho liên kết tượng trưng hoạt động (tôi biết lệnh "ln -s đích đích") nhưng nó không bao giờ hoạt động.
- thứ hai, tôi không biết cách định cấu hình tệp default.conf để biến nó thành hiện thực.
Tôi đã cố gắng bĩu môi một index.php đơn giản với <?php phpinfo();?>
bên trong thư mục/php trong thư mục gốc của tôi, nhưng khi tôi truy cập nó thông qua trình duyệt, tôi gặp lỗi "Không thiết lập đầu vào tệp". Nếu tôi cố gắng truy cập vào thư mục đã nói (ví dụ: https://my-domain.com/icecoder) Tôi kết thúc trên trang web của mình và đối với trang này, địa chỉ trực tiếp tới tệp index.php này hoạt động... ngoại trừ tôi chỉ nhận được trạng thái "đang hoạt động" trong nhiều giờ, có văn bản nhưng không có css. Công cụ dành cho nhà phát triển thậm chí không tải.
Đây là các tệp cấu hình của tôi (tên miền thực của tôi được ẩn danh trong tên miền của tôi):
nginx.conf
dữ liệu www của người dùng;
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;
#include /etc/nginx/sites-available/*.conf;
#default_type ứng dụng/octet-stream;
#root /var/www;
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;
}
mặc định.conf
người phục vụ {
server_name my_domain.com;
#access_log /var/log/nginx/host.access.log chính;
gốc /var/www/www.my_domain.com;
chỉ mục index.html index.php;
địa điểm / {
try_files $uri /index.html index.php =404;
}
# 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;
}
error_page 404 /40x.html;
vị trí = /40x.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_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param PHP_VALUE open_basedir="/var/www/www.my_domain.com/:/var/www/www.my_domain.com/php/";
bao gồm fastcgi_params;
}
# Tham số SCRIPT_FILENAME được sử dụng để xác định PHP FPM
# tên kịch bản. Nếu nó không được đặt trong tệp fastcgi_params,
# tức là /etc/nginx/fastcgi_params hoặc trong ngữ cảnh gốc,
# vui lòng bình luận tắt dòng sau:
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
vị trí ~ /\.{ # le "~" indique une regex que "/" démarre, ici tout ce qui a un "." thay vì php hoặc html
Phủ nhận tất cả;
truy cập_đăng xuất;
log_not_found tắt;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/my_domain.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/my_domain.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nghe 80;
server_name www.my_domain.com;
trả về 301 https://$server_name$request_uri; # chuyển hướng yêu cầu http sang trang web https
}
người phục vụ {
nghe 80;
nghe 443 ssl;
server_name my_domain.com;
trả về 301 http://www.my_domain.com$request_uri;
}
đây là một ls -l của thư mục gốc
-rw-r--r-- 1 www-data www-data 507 Ngày 21 tháng 9 20:03 40x.html
-rw-r--r-- 1 www-data www-data 507 Ngày 21 tháng 9 20:04 50x.html
drwxr-xr-x 6 www-data www-data 4096 26 tháng 8 23:45 tài sản
-rw-r--r-- 1 www-data www-data 83243 Ngày 27 tháng 8 02:19 favicon.ico
-rw-r--r-- 1 www-data www-data 25942 27 tháng 8 02:19 favicon.png
drwxr-xr-x 13 www-data www-data 4096 21 tháng 9 17:34 ICE
-rw-r--r-- 1 www-data www-data 63175 Ngày 21 tháng 9 15:58 index.html
-rw-r--r-- 1 www-data www-data 19 ngày 20 tháng 9 22:24 index.php
drwxr-xr-x 2 www-data www-data 4096 27 tháng 8 00:31 bảo trì
drwxr-xr-x 15 www-data www-data 4096 21 tháng 9 16:08 trang
lrwxrwxrwx 1 gốc gốc 12 ngày 21 tháng 9 21:36 php -> /var/www/php
drwxr-xr-x 6 www-data www-data 4096 ngày 8 tháng 9 16:13 phần
và của thư mục /var/php
drwxr-xr-x 13 www-data www-data 4096 Ngày 21 tháng 9 17:34 icecoder
-rw-r--r-- 1 www-data www-data 19 ngày 21 tháng 9 21:39 index.php
lrwxrwxrwx 1 gốc gốc 12 ngày 21 tháng 9 21:48 php -> /var/www/php
drwxr-xr-x 2 www-data www-data 4096 21 tháng 9 21:37 phpmyadmin
Tất cả các thư mục của tôi ở 755 và các tệp bên trong ở chế độ 644.
cảm ơn vì sự giúp đỡ của bạn