Mình thường tự install server không dùng các script có sẵn. Bình thường thì vẫn cấu hình FastCGI trên port 9000. Hôm nay xem 1 số file config mẫu thì thấy họ cấu hình trên php socket, thử làm theo mà php không chạy. Bạn nào rành cấu hình giải thích giúp mình với. Cấu hình của mình đó giờ: - nginx default.conf: Code: location ~ \.php$ { root /folder_name; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; --> nếu dùng cấu hình này là không chạy fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } - php-fpm www.conf: Code: ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000 ;listen = /var/run/php-fpm/php-fpm.sock --> nếu dùng cấu hình này là không chạy - server block của web: Code: location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; #fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; --> nếu dùng cấu hình này là không chạy fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Họ nói là nhanh hơn em ạ. Nhưng bù lại cấu hình TCP port 9000 lại có thể call đến 1 host khác (nhưng anh ko hiểu lắm và ko rõ cách cấu hình để call đến 1 host khác là như thế nào. Không lẽ mấy site bự nó chơi luôn 1 server cho xử lý PHP riêng ???)
À hiểu rồi nhé các người anh em. Do bên php-fpm chưa cấu hình cho nginx listen php socket. Sửa lại file www .conf như sau là được: Code: listen.owner = nginx listen.group = nginx listen.mode = 0660
Unix socket là một điểm giao tiếp để trao đổi dữ liệu giữa các ứng dụng trên cùng một máy tính. Khác với giao thức TCP/IP thực hiện ở giao thức mạng, Unix socket thực hiện ở nhân hệ điều hành, nhờ vậy có thể tránh được cách bước như kiểm tra hoặc routing, đem lại tốc độ kết nối nhanh hơn và nhẹ hơn so với TCP/IP. Khả năng tăng tốc hơn 50% so với TCP/IP.
Em đúng là dạng rộng chứ ko phải dạng vừa rồi Kiến thức hệ thống của em tốt quá. Anh mấy cái này thì chịu, chỉ có mò mò + test đúng sai nên nhiều khi suy luận mãi mới ra.
Dạ, e chỉ hay đọc tài liệu thôi anh ạ. Code thì nhiều lúc còn kém. Hay hỏi anh em. @Tony Vu , trước kia e hay hỏi bạn này. Mà giờ cu cậu ít online quá. @Tony Vu hiện hình đi e ơi.
Dù chạy theo kiểu config nào thì anh ko cũng ko thấy cái file /var/run/php-fpm/php-fpm.sock ở đâu cả - kể cả trong folder /var/run/php-fpm/ Mà www-data là của Ubuntu đúng ko nhỉ? Anh xài CentOS với nginx.
Restart lai service php-fpm di anh. Roi go: file/var/run/php-fpm/php-fpm.sock. Neu output co thi file dc tao roi anh
@thitgaluoc Anh hiểu lí do tại sao anh ko thấy file /var/run/php-fpm/php-fpm.sock rồi. Do lần đầu anh chuyển sang listen on socket thành công --> nó tạo ra file rồi nhưng anh không để ý. Sau đó anh chuyển lại chạy trên fastcgi_pass 127.0.0.1:9000; --> restart php-fpm là nó tự động xóa file /var/run/php-fpm/php-fpm.sock đi.
Híc anh có biết gì mấy cái này đâu. Đó giờ anh toàn xài Windows. Mấy lệnh chạy trên Linux anh toàn phải copy paste sang rồi run Túm lại là gà lắm. Mọi cấu hình anh học toàn là mò mẫm rồi thử thấy chạy được là OK chứ nhiều khi không hiểu nó là gì.
Em đây đại ca. Buổi trưa định chạy nốt cuốc grab rồi về code web nhưng gặp chị khách cứ kêu mệt nhờ cạo gió giùm. Tội nghiệp chị trúng gió nặng quá giờ này em mới xong