Tôi có một VPS với:
- Ubuntu 18.04
- Nginx
- Php7.2-fpm
Máy chủ chạy dự án Ruby on Rails dưới dạng homeurl (example.com) và wordpress dưới dạng thư mục (example.com/blog) .
Đầu tiên, VPS được cấu hình với Apache2, mọi thứ đều hoạt động tốt, cho đến khi tôi phải tích hợp trò chuyện trực tiếp. Phải chuyển sang Nginx cho Action Cable.
Bây giờ, ứng dụng trò chuyện hoạt động tốt, trên RoR, nhưng nếu tôi cố truy cập vào blog, tôi tải xuống tệp index.php, thì nó không thực thi.
Đây là conf mặc định nginx của tôi:
# Bạn nên xem URL sau để hiểu rõ
# tệp cấu hình Nginx để giải phóng hoàn toàn sức mạnh của Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# Trong hầu hết các trường hợp, quản trị viên sẽ xóa tệp này khỏi các trang web đã bật/ và
# để nó làm tài liệu tham khảo bên trong các trang web có sẵn, nơi nó sẽ tiếp tục tồn tại
# được cập nhật bởi nhóm đóng gói nginx.
#
# Tệp này sẽ tự động tải các tệp cấu hình do người khác cung cấp
# ứng dụng, chẳng hạn như Drupal hoặc Wordpress. Các ứng dụng này sẽ được thực hiện
# có sẵn bên dưới đường dẫn có tên gói đó, chẳng hạn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dụ chi tiết.
##
# Cấu hình máy chủ mặc định
#
người phục vụ {
nghe 80; ## lắng nghe ipv4; dòng này là mặc định và ngụ ý
lắng nghe [::]:80 default_server ipv6only=on; ## lắng nghe ipv6
chỉ mục index.php index.html index.htm index.nginx-debian.html;
máy chủ_tên máy chủ cục bộ;
nghe 443 ssl default_server;
lắng nghe [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/asdfsf.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sdafasdf.net/privkey.pem;
gốc /var/www/html/công khai;
hành khách được bật;
hành khách_ruby /usr/local/bin/ruby;
vị trí /var/www/html/công khai {
try_files $uri $uri/ =404;
}
vị trí ~ ^/blog(/.*|$) {
gốc /var/www/html/công khai/blog;
try_files $uri $uri/ /blog/index.php?$args;
hành_khách tắt;
chỉ số index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
vị trí ~ \.php$ {
bao gồm đoạn trích/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
Đã dành 3 đêm để khắc phục sự cố, tôi không thể hiểu đúng.
Bất kỳ gợi ý là rất hoan nghênh.
Cảm ơn bạn