Mengapa Run Nginx dan Apache Bersama
Kedua nginx dan apache adalah server yang kuat dan efektif. Apache saat ini bertahta sebagai # 1 server untuk website dan sejak dirilis ke publik pada 2006, nginx telah mengambil dunia oleh badai dan sekarang # 2 server untuk situs aktif. Alasan untuk popularitas masing masing server yang jelas: kekuatan apache dan kecepatan nginx ini sudah dikenal. Namun, kedua server memiliki kelemahan-apache sulit pada memori server, sementara nginx (besar pada file statis) membutuhkan bantuan php-fpm atau modul yang sama untuk konten dinamis.
Namun, salah satu dapat menggabungkan dua server web untuk efek yang besar, dengan nginx statis web server depan dan apache pengolahan akhir kembali.
Mempersiapkan
Untuk melakukan langkah-langkah dalam tutorial ini, Anda akan perlu memiliki hak sudo pada server virtual private.
Untuk membuat user dengan hak akses sudo, melalui langkah-langkah ketiga dan keempat dari ubuntu awal penyiapan server tutorial
menginstal nginx
Untuk memulai, kita perlu menginstal dan mengkonfigurasi nginx yang akan melayani ujung depan situs kami.
Mari kita download dari apt-get:
sudo apt-get install nginx
Setelah itu telah di-download, Anda dapat melanjutkan dan mengkonfigurasi virtual host untuk berjalan di ujung depan.
Ada beberapa perubahan yang perlu kita buat dalam konfigurasi.
Konfigurasi nginx
Buka konfigurasi nginx.
- sudo nano / etc / nginx / sites-available / contoh
Konfigurasi berikut akan membuat Anda siap untuk menggunakan nginx sebagai server front end. Hal ini sangat mirip dengan standar mengatur, dan rincian berada di bawah konfigurasi.
- server {
listen 80;
root / var / www /;
Indeks index.php index.html index.htm;
SERVER_NAME example.com;
lokasi / {
try_files $ uri $ uri / /index.php;
}
lokasi ~ \ .php $ {proxy_set_header X-real-IP $ REMOTE_ADDR;
proxy_set_header X-Forwarded-For $ REMOTE_ADDR;
proxy_set_header host $ tuan rumah;
proxy_pass http://127.0.0.1:8080;
}
lokasi ~ /\.ht {
menolak semua;
}
}
Perubahan berikut diimplementasikan dalam konfigurasi:
- Akar ditetapkan ke direktori web yang benar
- index.php ditambahkan pada baris indeks
- try_files mencoba untuk melayani halaman apa pun permintaan pengunjung. Jika nginx tidak mampu, maka file tersebut akan diteruskan ke proxy
- proxy_pass memungkinkan nginx alamat server proxy
- Akhirnya “lokasi ~ /\.ht {” block lokasi menyangkal akses ke file .htaccess, jika Apache akar dokumen sepakat dengan satu nginx ini
Konfigurasi ini membuat sebuah sistem di mana semua ekstensi dengan akhir php dialihkan ke backend apache yang akan berjalan pada port 8080.
Aktifkan virtual host.
- sudo ln -s / etc / nginx / sites-available / contoh / etc / nginx / sites-enabled / contoh
Selain itu, menghapus blok default server nginx.
- sudo rm / etc / nginx / sites-enabled / default
Langkah selanjutnya adalah menginstal dan mengkonfigurasi apache.
install Apache
Dengan nginx diurus, saatnya untuk menginstal backend kami, apache.
- sudo apt-get install apache2
Sejak nginx masih belum diaktifkan, Apache akan mulai berjalan pada port 80.
Konfigurasi Apache
Kita perlu mengkonfigurasi apache untuk mengambil alih backend, yang seperti kita diberitahu nginx, akan berjalan pada port 8080. Buka port apache file untuk memulai pengaturan apache pada port yang benar:
sudo nano /etc/apache2/ports.conf
Cari dan mengubah baris berikut untuk memiliki apache berjalan pada port 8080, dapat diakses hanya dari localhost:
NameVirtualHost 127.0.0.1:8080
Dengar 127.0.0.1:8080
Simpan dan keluar.
Selanjutnya, membuka file host virtual baru, menyalin tata letak dari file default apache:
sudo cp / etc / apache2 / sites-available / default / etc / apache2 / sites-available / contohsudo nano / etc / apache2 / sites-available / contoh
Masalah utama yang perlu ditangani di sini adalah bahwa virtual host perlu, sekali lagi, berjalan pada port 8080 (bukan default 80 diberikan ke nginx).
Jalur ini akan terlihat seperti ini:
<VirtualHost 127.0.0.1:8080>
Pastikan Anda Document Root benar. Menyimpan dan keluar file dan mengaktifkan virtual host:
Contoh sudo a2ensite
Sebelum kita mulai menguji apa pun, kita perlu membekali apache dengan php. Pergi ke depan dan menginstalnya sekarang:
sudo apt-get install php5
Restart kedua server untuk membuat perubahan yang efektif:
sudo layanan apache2 Restartsudo layanan nginx Restart
Selesaikanlah
Kami telah menyiapkan VPS dengan nginx berjalan di ujung depan situs dan apache kami php pengolahan di ujung belakang. Memuat domain kita akan membawa kami ke halaman default situs kami.
Kita dapat memeriksa bahwa informasi sedang diarahkan ke apache bekerja dengan menjalankan skrip php umum.
Pergi ke depan dan membuat file php.info:
sudo nano /var/www/info.php
Paste baris berikut ke dalam file tersebut:
<?
Phpinfo ();
?>
Simpan dan keluar.
Mengunjungi domain Anda / info.php harus menampilkan layar informasi php, dan Anda akan dapat melihat bahwa ini ditangani oleh apache. (screenshot di sini )
Akhirnya, Anda dapat melihat port yang terbuka dan aplikasi mana pada masing-masing dengan mengetikkan perintah ini.
sudo netstat -plunt
Lihat Lainnya
Konfigurasi nginx dan Apache bersama-sama dapat menjadi dorongan besar untuk server, dan ini hanya gambaran singkat. Jika Anda memiliki pertanyaan spesifik tentang mengkonfigurasi dua bersama-sama, jangan ragu untuk posting pertanyaan Anda di kami Q & A Forum dan kami akan dengan senang hati menjawab mereka.
Sumber: Galih