Cara menginstal server web dengan Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [Bagian ke-4: Nginx + PHP dengan SpawnFastCGI]

Beberapa waktu yang lalu Saya sudah memberi tahu Anda tentang seri tutorial ini, tentang cara menginstal dan mengkonfigurasi server untuk hosting dengan permintaan tinggi. Artikel ini akan membahas tentang menginstal dan mengkonfigurasi Nginx + PHP dengan MemunculkanCGICepat:

Menelurkan_FastCGI:

Ini dapat dikatakan sebagai apa yang menyatukan Nginx dengan PHP, yaitu, meskipun mereka menginstal paket PHP5 jika mereka tidak menginstal Spawn_FastCGI dan mengeksekusi ketika mereka membuka situs di PHP, browser akan mengunduh file, itu tidak akan ditampilkan apa pun yang telah diprogram .php karena server tidak tahu cara memproses file .php, itulah mengapa penting untuk menginstal dan mengkonfigurasi Spawn_FastCGI.

Jika kita menggunakan Apache, itu akan menjadi sesuatu yang sederhana seperti menginstal paket libapache2-mod-php5, tetapi karena kita menggunakan Nginx kita harus menginstal paket spawn-fcgi sebagai gantinya. Selain itu, dalam tutorial saya akan menjelaskan cara membuat skrip awal di /etc/init.d/ sehingga Anda dapat mengontrolnya dengan lebih nyaman.

1. Instalasi:

Kami akan mulai dengan hal pertama, instal Spawn-FastCGI dan PHP dari repositori kami.

Semua perintah yang akan dijalankan dijalankan dengan izin root, baik dengan meletakkan sudo di awal setiap baris atau dengan masuk sebagai root

Jika di server Anda, Anda menggunakan distribusi seperti Debian, Ubuntu atau beberapa turunan di terminal, Anda harus meletakkan yang berikut ini dan tekan Enter :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude tidak diinstal secara default di Ubuntu, namun saya menyarankan Anda menginstalnya dan menggunakannya sebagai ganti apt-get, karena aptitude melakukan manajemen dependensi yang lebih baik pada kesempatan tertentu

Secara pribadi, saya tidak merekomendasikan turunan Debian apa pun, bahkan Ubuntu untuk server, selama bertahun-tahun pengalaman saya belum sepenuhnya memuaskan. Pilihan pertama saya untuk sistem operasi server adalah Debian, kemudian saya akan memikirkan CentOS, akhirnya beberapa BSD

2. Konfigurasi:

Pada langkah sebelumnya (ketika kami menginstal Nginx) kami mengunduh file bernama nginx-spawn-fastcgi.tar.gz yang ketika dibuka ritsletingnya membuat folder nginx-spawn-fastcgi di rumah kami, kami akan menyalin file darinya spawn-fastcgi ke /etc/init.d/:

cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/

Juga, kita membutuhkan php-fastcgi yang dapat dieksekusi di / usr / bin /

cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/

Sempurna, kami memiliki file yang siap yang memungkinkan kami untuk mengontrol spawn-fastcgi dan juga php-fastcgi yang dapat dieksekusi, sekarang kita akan mulai spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Ini akan menunjukkan kepada kita sesuatu seperti: spawn-fcgi: anak berhasil melahirkan: PID: 3739

Sekarang kita akan mengganti file /etc/nginx/sites-available/mywebsite.net dengan ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net

Mengapa? Sederhana saja, karena file mywebsite.net kita yang sebelumnya tidak memiliki support untuk PHP yaitu Nginx saja, sedangkan file mywebsite_plus_php.net memang support untuk PHP yaitu Nginx + PHP yang menggunakan SpawnFastCGI.

Perbedaan antara file-file ini ada beberapa, misalnya:

  • Sejalan 3 file yang mendukung PHP ditambahkan index.php
  • Baris baru di bawah No.3 yang berisi: fastcgi_index index.php;
  • Beberapa baris baru lainnya yang memberi tahu Nginx cara memproses PHP.
  • … ..Singkatnya, berikut adalah foto yang akan membantu Anda mengetahui perbedaan antara kedua file tersebut:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

File mywebsite_plus_php.net adalah vhost yang berfungsi sebagai contoh, artinya, dan dengan kata lain, kita harus memodifikasinya dan menetapkan konfigurasi kita.

Kita harus mengubah yang berikut:

  • access_log (baris 3): Ini akan menjadi jalur file log akses ke situs ini
  • error_log (baris 4): Ini akan menjadi jalur file log kesalahan ke situs ini
  • server_name (baris 5): URL, domain yang dihosting di folder itu, misalnya forum DesdeLinux itu akan menjadi: nama_server forum.desdelinuxBersih.
  • root (baris 6): Path ke folder tempat file html berada, biarkan ini di / var / www / karena ini hanya akan menjadi tes
Jelas mereka harus menunjuk dalam catatan DNS mereka dari penyedia hosting mereka (menggunakan CPanel atau alat lain) bahwa domain atau subdomain yang dideklarasikan dalam nama_server terletak di IP server ini yang mereka konfigurasikan. Artinya, di DNS tempat mereka membuat subdomain untuk domain mereka, mereka harus menyatakan bahwa domain atau subdomain yang mereka masukkan di baris 5 ada di server ini (server ini = alamat IP dari server yang bersangkutan)

Siap, sekarang kita akan merestart Nginx:

/etc/init.d/nginx restart

Untuk memeriksa apakah Nginx kita memproses PHP dengan benar, mari salin file phptest.php ke folder yang dihosting, yaitu yang ditunjukkan pada baris No. 6 dari file mywebsite_plus_php.net (misalnya, root / var / www /), dengan asumsi bahwa situs dihosting langsung di / var / www / akan menjadi:

cp ~/nginx-spawn-fastcgi/phptest.php /var/www/

Misalkan pada baris 5 mywebsite_plus_php.net kita (yaitu baris server_name) kita telah mengatakan bahwa situs kita adalah www.mysite.net maka kita harus mengakses www.mysite.net/phptest.php. Dengan kata lain, idenya adalah mengakses file phptest.php dari browser kita dan jika yang berikut ini muncul maka Nginx kita terhubung secara sempurna dengan PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Jika ini tidak muncul, yaitu, browser mencoba mengunduh file .php ... ini berarti mereka melakukan kesalahan, bahwa mereka tidak mengganti /etc/nginx/sites-available/mywebsite.net dengan ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... bahwa Anda lupa memulai ulang Nginx dengan /etc/init.d/nginx restart atau Anda lupa memulai Spawn-FastCGI dengan /etc/init.d/spawn-fastcgi start

Sejauh ini tutorial untuk menghubungkan Nginx dengan PHP menggunakan SpawnFastCGI, kita hanya membutuhkan MySQL dan APC 🙂

Saya harap ini menarik untuk Anda.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   f3niX dijo

    Jika seperempat, mengapa gambar mengatakan 3? mulai dari 0 saya kira? posting yang bagus.

    salam

    1.    KZKG ^ Gaara dijo

      1st: Presentasi
      Kedua: Nginx
      Ketiga: Nginx + PHP (Spawn_FastCGI)

      🙂

      Terima kasih telah membaca ^ _ ^

      1.    Rodrigo dijo

        apa yang terjadi dengan bagian 4 ???
        dan dengan selanjutnya ?????

  2.   rpyanm dijo

    Hello:

    Ini akan menjadi pilihan yang lebih baik jika alih-alih mysql, Anda menggunakan MariaDB, karena Anda harus tahu yang terakhir adalah garpu yang pertama, dan sudah ada pembicaraan bahwa itu akan menjadi MySQL masa depan (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) karena Mysql gratis, sampai batas tertentu.

    SkySQL, perusahaan yang menyediakan layanan dari database gratis, secara finansial mendukung proyek MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) dan Google yang ingin berhenti bergantung pada Mysql, seperti yang dilakukan Wikipedia, dan akan beralih dari MySQL 5.1 ke MariaDB 10.0 dengan bantuan, tepatnya, dari SkySQL, yang sudah ahli di bidang ini.

    Salu2.

    1.    KZKG ^ Gaara dijo

      Halo,

      Ya tentu saja, saya tahu MariaDB dan faktanya, kami sudah membicarakannya: https://blog.desdelinux.net/tag/mariadb/

      Namun, saat ini saya menggunakan MySQL karena saya melakukan tutorial ini berdasarkan pengalaman khusus yang saya alami saat bermigrasi. DesdeLinux (dengan segala layanannya) ke server lain, saat itu kami mengubah teknologi sepenuhnya dan tugas atau perubahan yang harus saya hadapi tidak sedikit.
      Bacalah komentar saya sejak saat itu: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Ide akhirnya ya memang, migrasi ke MariaDB, tapi saya belum sempat melakukan tes terkait 🙂

      Terima kasih sudah membaca

  3.   eliotime3000 dijo

    Tutorial ini akan membantu saya untuk menginstal zPanel X dengan NGINX agar tidak membuat situs saya jenuh saat bermigrasi ke VPS GNUPanel.

  4.   dragnell dijo

    Hadiah Natal? Saya sangat menantikan ucapan selamat untuk semua.

    1.    KZKG ^ Gaara dijo

      Terima kasih kawan 😀

  5.   st0rmt4il dijo

    Ditambahkan ke favorit!

    Ngomong-ngomong, saya memiliki keraguan dan pertanyaan ini, apakah Nginx benar-benar memiliki kinerja lebih dari Apache?

    Salam!

    1.    KZKG ^ Gaara dijo

      Yah, Apache dapat banyak dioptimalkan tetapi… sampai sekarang, Google dan hampir semua dari kita setuju bahwa Nginx mengkonsumsi RAM jauh lebih sedikit, memiliki kinerja yang tidak terlalu besar, meskipun tidak sesederhana itu saat mengkonfigurasi.

  6.   Luis Morales dijo

    Good KZKG ^ Gaara informasi yang sangat baik bagi kita yang tertarik dengan dunia ini, pertanyaan, untuk saat posting ke-4 😀