Một thời trước đây Tôi đã nói với bạn về loạt bài hướng dẫn này, về cách cài đặt và cấu hình máy chủ cho nhu cầu lưu trữ cao. Bài viết này sẽ nói về cài đặt và cấu hình Nginx + PHP với đẻ trứng nhanh CGI:
Spawn_FastCGI:
Điều này có thể nói rằng nó là thứ kết nối Nginx với PHP, tức là, ngay cả khi họ đã cài đặt gói PHP5 nếu họ không cài đặt và thực thi Spawn_FastCGI khi họ mở một trang web bằng PHP thì trình duyệt sẽ tải xuống tệp, nó sẽ không cho họ thấy bất cứ điều gì mà .php đã được lập trình vì máy chủ không biết cách xử lý tệp .php, đó là lý do tại sao cài đặt và cấu hình Spawn_FastCGI là điều cần thiết.
Nếu chúng tôi sử dụng Apache, nó sẽ đơn giản như cài đặt gói libapache2-mod-php5, nhưng vì chúng tôi sử dụng Nginx, chúng tôi sẽ phải cài đặt gói spawn-fcgi. Ngoài ra, trong hướng dẫn này, tôi sẽ giải thích cách tạo tập lệnh ban đầu cho nó trong /etc/init.d/ để bạn có thể điều khiển nó thoải mái hơn.
1. Cài đặt:
Chúng tôi sẽ bắt đầu với điều đầu tiên, cài đặt Spawn-FastCGI và PHP từ kho của chúng tôi.
Nếu trên máy chủ của bạn, bạn sử dụng một bản phân phối chẳng hạn như Debian, Ubuntu hoặc một số dẫn xuất trong thiết bị đầu cuối, bạn phải nhập phần sau và nhấn đăng ký hạng mục thi :
aptitude install spawn-fcgi php5-cgi php5-curl
2. Cấu hình:
Trong bước trước (khi chúng tôi cài đặt Nginx), chúng tôi đã tải xuống một tệp có tên nginx-spawn-fastcgi.tar.gz mà khi giải nén nó sẽ tạo ra thư mục nginx-spawn-fastcgi trong nhà của chúng tôi, chúng tôi sẽ sao chép tệp từ đó. spawn-fastcgi tới /etc/init.d/:
cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/
Ngoài ra, chúng ta cần tệp thực thi php-fastcgi trong / usr / bin /
cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/
Tuyệt vời, chúng tôi đã chuẩn bị sẵn tệp cho phép chúng tôi điều khiển spawn-fastcgi và cả tệp thực thi php-fastcgi, bây giờ chúng tôi sẽ bắt đầu spawn-fastcgi:
/etc/init.d/spawn-fastcgi start
Nó sẽ cho chúng ta thấy một cái gì đó như: spawn-fcgi: con sinh sản thành công: PID: 3739
Bây giờ chúng ta sẽ thay thế tệp /etc/nginx/sites-available/mywebsite.net của mình bằng ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net
cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net
Tại sao? Đơn giản, vì tệp mywebsite.net trước đây của chúng tôi không hỗ trợ PHP, tức là nó chỉ có Nginx, trong khi tệp mywebsite_plus_php.net có hỗ trợ PHP, tức là Nginx + PHP sử dụng SpawnFastCGI.
Sự khác biệt giữa các tệp này là một số, ví dụ:
- Ở dòng 3, tệp hỗ trợ PHP được thêm index.php
- Một dòng mới trong số 3 có chứa: fastcgi_index index.php;
- Một số dòng mới khác cho Nginx biết cách xử lý PHP.
- … .. Tóm lại, đây là một bức ảnh sẽ giúp bạn biết sự khác biệt giữa hai tệp:
Tệp mywebsite_plus_php.net là một vhost dùng làm ví dụ, nghĩa là, và nói cách khác, chúng ta phải sửa đổi nó và thiết lập cấu hình của mình.
Chúng ta phải thay đổi những điều sau:
- access_log (dòng 3): Đây sẽ là đường dẫn của tệp nhật ký truy cập đến trang web này
- error_log (dòng 4): Đây sẽ là đường dẫn của tệp nhật ký lỗi đến trang web này
- server_name (dòng 5): URL, tên miền được lưu trữ trong thư mục đó, ví dụ: nếu đó là diễn đàn DesdeLinux nó sẽ là: diễn đàn server_name.desdelinuxNet.
- root (dòng 6): Đường dẫn đến thư mục chứa các tệp html, hãy để nó trong / var / www / vì nó sẽ chỉ là một bài kiểm tra
Sẵn sàng, bây giờ chúng tôi sẽ khởi động lại Nginx:
/etc/init.d/nginx restart
Để xác minh rằng Nginx của chúng tôi xử lý PHP đúng cách, hãy sao chép tệp phptest.php vào thư mục được lưu trữ, nghĩa là, tệp được chỉ ra trong dòng số 6 của tệp mywebsite_plus_php.net (ví dụ: root / var / www /), giả sử rằng có trang web được lưu trữ trực tiếp trong / var / www / sẽ là:
cp ~/nginx-spawn-fastcgi/phptest.php /var/www/
Giả sử rằng trong dòng 5 của mywebsite_plus_php.net của chúng tôi (tức là dòng server_name), chúng tôi đã nói rằng trang của chúng tôi là www.mysite.net thì chúng tôi phải truy cập www.mysite.net/phptest.php. Nói cách khác, ý tưởng là truy cập tệp phptest.php từ trình duyệt của chúng tôi và nếu thông tin sau xuất hiện thì Nginx của chúng tôi được liên kết hoàn hảo với PHP:
Trong trường hợp điều này không xuất hiện, tức là trình duyệt cố gắng tải xuống tệp .php ... điều này có nghĩa là họ đã làm sai điều gì đó, rằng họ đã không thay thế /etc/nginx/sites-available/mywebsite.net bằng ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… rằng họ đã quên khởi động lại Nginx bằng /etc/init.d/nginx khởi động lại hoặc họ quên khởi động Spawn-FastCGI bằng /etc/init.d/spawn-fastcgi start
Cho đến nay hướng dẫn liên kết Nginx với PHP bằng SpawnFastCGI, chúng ta chỉ cần MySQL và APC 🙂
Tôi hy vọng điều này là thú vị cho bạn.
Nếu nó là một phần tư, tại sao hình ảnh lại nói 3? bắt đầu từ 0 tôi đoán? bài xuất sắc.
Liên quan
1: Trình bày
Thứ 2: Nginx
Thứ 3: Nginx + PHP (Spawn_FastCGI)
????
Cảm ơn vì đã đọc ^ _ ^
chuyện gì xảy ra với phần 4 vậy ???
và với tiếp theo ?????
Hi
Sẽ là lựa chọn tốt hơn nếu thay vì mysql, bạn sử dụng MariaDB, vì bạn nên biết cái sau là một nhánh của cái đầu tiên và đã có tin đồn rằng nó sẽ là Mysql của tương lai (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) vì Mysql là miễn phí, cho đến một thời điểm.
SkySQL, một công ty cung cấp dịch vụ từ cơ sở dữ liệu miễn phí, đã hỗ trợ tài chính cho dự án MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) và Google muốn ngừng phụ thuộc vào Mysql, như Wikipedia cũng đã làm, và sẽ thực hiện chuyển đổi từ MySQL 5.1 sang MariaDB 10.0 với sự trợ giúp chính xác của SkySQL, những người đã là chuyên gia trong lĩnh vực này.
xin chào2.
Xin chào,
Tất nhiên là có, tôi biết MariaDB và trên thực tế, chúng tôi đã nói về nó: https://blog.desdelinux.net/tag/mariadb/
No obstante, ahora mismo estoy usando MySQL pues estos tutoriales los hago desde la experiencia particular que tuve al migrar DesdeLinux (con todos sus servicios) hacia otros servidores, en ese momento cambiamos la tecnología completamente y las tareas o cambios que tuve que afrontar no fueron pocos.
Đọc bình luận này của tôi từ thời điểm đó: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291
Ý tưởng cuối cùng thực sự là có, hãy chuyển sang MariaDB, nhưng tôi không có thời gian để làm các bài kiểm tra liên quan 🙂
Cảm ơn vì đã đọc
Hướng dẫn này sẽ giúp tôi cài đặt zPanel X với NGINX để không làm hỏng trang web của tôi khi di chuyển sang GNUPanel VPS.
Món quà Giáng sinh? Tôi mong được chúc mừng tất cả.
Cảm ơn đối tác 😀
Đã thêm vào mục yêu thích!
Nhân tiện, tôi có nghi ngờ và câu hỏi này, liệu Nginx có thực sự có hiệu suất cao hơn Apache không?
Chúc mừng!
Vâng, Apache có thể được tối ưu hóa rất nhiều nhưng… cho đến nay, Google và hầu như tất cả chúng ta đều đồng ý rằng Nginx tiêu tốn ít RAM hơn nhiều, có hiệu suất không đáng kể, mặc dù việc cấu hình không hoàn toàn đơn giản.
Tốt KZKG ^ Gaara thông tin tuyệt vời cho những ai quan tâm đến thế giới này, một câu hỏi, cho khi đăng bài thứ 4 😀