GNU/Linux >> Belajar Linux >  >> Cent OS

Instal Nginx + Php FPM + APC di CentOS 6.4

Server LEMP

Server lemp menjalankan Nginx server web bersama dengan Php dan Mysql atau MariaDB di Linux sistem. Nginx semakin populer karena strukturnya yang ringan dan kemampuannya untuk menangani lalu lintas dalam jumlah besar secara optimal. Mariadb adalah pengganti mysql karena mysql tidak terlalu gratis lagi. Dalam tutorial ini kita akan menyiapkan Nginx dengan Php FPM di CentOS. Petunjuk untuk menginstal MariaDB akan dibahas dalam posting lain.

CentOS adalah os yang sangat populer untuk server web berbasis linux. CentOS (Community Enterprise Operating System) didasarkan pada RHEL (RedHat Enterprice Linux) dan 100% kompatibel dengan biner. Bagi kami itu hanya berarti mirip dengan rhel dalam pekerjaan dan lingkungannya dan bahwa kami memiliki perintah yum yang tersedia untuk menginstal perangkat lunak dengan mudah dari repositori. Dalam contoh ini kita akan mengerjakan CentOS 6.4 yang pada saat posting ini adalah versi terbaru.

Instal Nginx

Langkah pertama adalah menginstal server web Nginx. Nginx tidak tersedia di repositori CentOS default tetapi nginx menyediakan repositori khusus centos agar mudah digunakan.

Tambahkan repositori nginx

Kami membuat file repositori di direktori /etc/yum.repos.d

$ nano /etc/yum.repos.d/nginx.repo

Sekarang buka file dan tambahkan baris berikut. Instruksi ini disediakan oleh Nginx secara langsung.

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Simpan dan tutup. Sekarang nginx dapat diinstal.

$ yum install nginx

Di atas akan mengunduh dan menginstal server web nginx dan membuatnya siap digunakan.
Setelah instalasi selesai, saatnya melakukan beberapa pemeriksaan. Pertama gunakan perintah layanan untuk memeriksa status nginx.

[[email protected] ~]# service nginx status
nginx is stopped

Di atas menunjukkan bahwa layanan nginx ada tetapi dihentikan. Selanjutnya periksa konfigurasi menggunakan opsi t dengan perintah nginx.

[[email protected] ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Perintah di atas memberi tahu bahwa konfigurasinya OK dan siap untuk dijalankan. Dan yang terpenting, ia juga memberitahu lokasi file konfigurasi nginx. Untuk membuat host virtual/beberapa domain, penting untuk membuat file konfigurasi terpisah untuk setiap host. Konfigurasi virtual host terletak di /etc/nginx/conf.d/

Oke, sekarang mari kita mulai server nginx.

[[email protected] conf.d]# service nginx start
Starting nginx:                                            [  OK  ]

Sekarang nginx sudah aktif dan berjalan. Temukan alamat ip server nginx menggunakan ifconfig dan sambungkan ke ip tersebut dari browser untuk mengujinya.

http://192.168.1.4/

Anda mungkin harus membuka port 80 di server centos, jika belum terbuka. Lihat tutorial ini tentang cara membuka port http di centos. Setelah terbuka, alamat ip server nginx akan memuat halaman dengan konten seperti ini

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

Membuat host virtual

Host virtual atau "Blok Server" seperti yang disebut nginx, memungkinkan nginx untuk melayani beberapa host berdasarkan nama. Misalnya dapat meng-host abc.com dan cde.com bersama-sama. Yang dibutuhkan hanyalah file konfigurasi untuk setiap host yang berisi pengaturan khusus host seperti direktori root dll.

Direktori /etc/nginx/conf.d/ berisi file konfigurasi default.conf yang memiliki pengaturan untuk virtual host yang akan bekerja melalui http://localhost/

Periksa file dan itu akan menunjukkan lokasi file web yang disebut root.

location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

Jadi file web kita (.html, .php dan semuanya) harus diletakkan di dalam /usr/share/nginx/html direktori.

Untuk membuat lebih banyak host virtual, cukup salin file default.conf dan edit pengaturan root path dan server_name agar sesuai dengan domain/host Anda.

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mysite.conf

Sekarang edit mysite.conf dan konfigurasikan pengaturan seperti direktori root dan nama_server.
Kemudian uji konfigurasi nginx Anda dan mulai ulang server. Itu akan membuat virtual host baru.

Izin File

Saat menyiapkan direktori root untuk file web, harus dipastikan bahwa file dan semua direktori induk dapat dibaca oleh "grup" dan "lainnya" pada sistem. Misalnya izin 0755. Nginx tidak akan dapat membaca file, jika direktori induk tidak dapat dibaca.

Misalnya jika Anda memilih untuk menempatkan file web Anda di direktori berikut

/home/joe/public_html

Kemudian pastikan bahwa direktori home dan joe dapat dibaca oleh grup dan lainnya. Jika tidak, bahkan jika file web dapat dibaca oleh orang lain, tetapi bukan direktori induk joe, maka nginx tidak akan dapat membaca file dan log kesalahan akan berisi pesan seperti ini

open() "/home/joe/public_html/index.html" failed (13: Permission denied)

Instal PHP dan FPM

Setelah server nginx aktif dan berjalan, tugas selanjutnya adalah menginstal interpreter php agar file .php dapat diproses oleh nginx.

Karena php-fpm sudah menjadi bagian dari repositori CentOS, kita tidak perlu membuat entri repo lain seperti yang kita lakukan untuk paket nginx. Jadi untuk menginstall php-fpm kita tinggal menggunakan perintah yum.

$ yum install php-fpm

Anda mungkin ingin menggunakan opsi "-C" jika Anda tidak ingin yum memperbarui data repositori sebelum menginstal paket.

Sekarang periksa status layanan php-fpm

# service php-fpm status
php-fpm is stopped

Kemudian mulai

# service php-fpm start
Starting php-fpm:                                          [  OK  ]
[[email protected] ~]#

Sekarang saatnya membuat skrip php dan mengujinya. Direktori file web adalah /usr/share/nginx/html
Jadi buat file di direktori itu.

# nano /usr/share/nginx/html/phpinfo.php

Setelah itu kami menambahkan konten ini ke dalamnya.

<?php 
phpinfo();

Sekarang saatnya membuka file melalui browser kita.

http://192.168.1.4/phpinfo.php

TIDAK, ini belum akan berfungsi, karena kami belum mengonfigurasi nginx untuk mengeksekusi skrip php.

Konfigurasi Nginx untuk menjalankan php

Nginx sudah hadir dengan konfigurasi default untuk menggunakan php fpm. Buka file /etc/nginx/conf.d/default.conf dan batalkan komentar pada baris berikut.

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
	root           /usr/share/nginx/html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
	include        fastcgi_params;
}

SCRIPT_FILENAME sangat penting dan harus menunjuk ke lokasi yang benar, jika tidak, Anda akan terus mendapatkan "File tidak ditemukan." kesalahan.

Simpan file dan tutup. Sekarang uji konfigurasi nginx baru Anda.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] ~]#

Konfigurasi OK. Sekarang restart nginx agar konfigurasi baru diterapkan.

# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]
[[email protected] ~]#

Selesai. Sekarang buka skrip php di browser Anda dan itu akan langsung berfungsi.

http://192.168.1.4/phpinfo.php

Instal APC

APC adalah cache php alternatif yang memungkinkan php untuk menyimpan data pengguna dan opcode. Ini membuat eksekusi php lebih cepat dari biasanya. Paket untuk APC tersedia di repositori dasar itu sendiri sehingga kita tidak perlu mengonfigurasi repositori tambahan apa pun.

Instal langsung menggunakan yum.

# yum install php-pecl-apc

Sekarang restart php-fpm agar apc diaktifkan

# service php-fpm restart
Stopping php-fpm:                                          [  OK  ]
Starting php-fpm:                                          [  OK  ]
[[email protected] php.d]#

File konfigurasi untuk apc terletak di jalur berikut.

/etc/php.d/apc.ini

Jalur yang sama juga disebutkan dalam output fungsi phpinfo() jika Anda ingin memverifikasi.
Bagian Konfigurasi halaman phpinfo.php harus memiliki bagian untuk apc yang menunjukkan nilai dari berbagai arahan apc. Semua arahan tersebut dapat dikonfigurasi dalam file apc.ini.

Catatan

1. Saat mengonfigurasi host virtual, pengujian konfigurasi nginx mungkin gagal dengan kesalahan seperti ini

# nginx -t
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

Untuk memperbaiki kesalahan ini, buka file konfigurasi nginx utama yang terletak di /etc/nginx/nginx.conf dan tambahkan baris berikut di blok http.

server_names_hash_bucket_size 64;

Itu akan meningkatkan ukuran keranjang hash dan memperbaiki kesalahan.


Cent OS
  1. Cara menginstal atau meningkatkan ke PHP 7 di CentOS 7 Linux Server

  2. Instal MySQL Server 5.6 di CentOS

  3. Cara Menginstal PHP 5.6 di CentOS 7

  1. Cara Menginstal PHP 5.5 di CentOS

  2. Cara Menginstal PHP 8 di CentOS 7

  3. Instal PHP Server Monitor pada CentOS 7 Linux VPS

  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Instal PHP 7.4 di CentOS 8

  3. Cara Menginstal PHP 7.3 di CentOS 8