Setup NGINX, PHP-FPM, dan MariaDB di Debian 8

Panduan ini akan menunjukkan kepada Anda cara menginstal dan mengkonfigurasi stack LAMP "alternatif" dengan benar pada Debian 8 menggunakan NGINX, PHP Fast Process Manager, dan MariaDB.

NGINX

NGINX adalah "reverse proxy first, web server second". Ini adalah alternatif yang populer dan berkembang untuk Apache, menawarkan fleksibilitas yang lebih besar dan kinerja yang lebih baik dalam banyak hal. Dalam tutorial ini, kita akan menggunakannya sebagai server web kami.

Jalankan klien SSH favorit Anda dan masuk ke server Anda. Untuk pengguna Windows, "Putty" adalah klien SSH gratis dan ringan. Pengguna Linux dan Mac dapat menggunakan terminal yang disertakan secara default dengan sistem operasi mereka. Untuk tutorial ini, kami akan menganggap bahwa Anda masuk ke server Anda sebagai pengguna "root".

Sebagai permulaan, mari kita pastikan semuanya sudah mutakhir. Ketik yang berikut untuk memeriksa dan kemudian instal pembaruan.

apt-get update && apt-get upgrade

Kami akan mengedit file konfigurasi kami di vim. Vim tidak diinstal secara default, jadi mari kita instal!

apt-get install vim

Sekarang saatnya menginstal NGINX. Kami ingin menginstal versi NGINX terbaru dari repositori NGINX Debian resmi.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Sekarang kita perlu mengubah beberapa konfigurasi NGINX. Arahkan ke direktori konfigurasi.

cd /etc/nginx

Pelajaran vim cepat

Gunakan tombol panah untuk menavigasi dokumen teks. Untuk mulai mengedit, tekan tombol "masukkan" di keyboard Anda. Jika keyboard Anda tidak memiliki tombol sisipkan, lalu tekan tombol "i". Menuju bagian bawah vim, Anda akan melihatnya sekarang mengatakan "INSERT". Sisipkan mode akan memungkinkan Anda menghapus melalui backspace atau memasukkan karakter baru dengan mengetiknya.

Mari kita buka nginx.confdan melihat-lihat:

vi nginx.conf

Mari kita ubah pengguna default, periksa jumlah proses pekerja, dan matikan log akses.

Arahan "pengguna" dan "proses pekerja_" ada di dekat bagian atas. Coba nilai-nilai di bawah ini:

Perhatikan bahwa Anda ingin mengatur "proses pekerja_" ke jumlah inti CPU yang tersedia di server Anda. Dalam contoh ini, kita memiliki 1, yang merupakan standar NGINX.

user www-data;
worker_processes 1;

Kami juga ingin menonaktifkan log akses, demi meningkatkan kinerja I / O. Arahkan ke bawah dengan tombol panah hingga Anda menemukan "access_log". Ubah sebagai berikut:

access_log off;

Dan terakhir, kami akan mengatur "client_max_body_size" agar sesuai dengan beberapa perubahan yang dilakukan pada PHP nanti. Mari selamatkan masalahnya dan lakukan sekarang. Tambahkan tepat di bawah "access_log":

client_max_body_size 12m;

Setelah selesai mengedit, tekan "Esc" di keyboard Anda. Vim tidak akan lagi mengatakan "INSERT" di bagian bawah file.

Untuk menyimpan perubahan kami dan keluar dari vim, tekan urutan tombol berikut:

SHIFT :(colon)
wq
Press "Enter"

Vung kung fu di atas akan menulis perubahan Anda ke disk dan keluar vim, menjatuhkan Anda kembali ke bash shell.

Sekarang, kita perlu membuat konfigurasi khusus situs untuk contoh kita! Kami juga akan menghapus konfigurasi contoh lainnya. Coba yang berikut ini:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

Kami akan membuat pendek dan sederhana www.confberdasarkan longgar pada konfigurasi NGINX default, tetapi dengan beberapa tweak. Tekan sisipkan dan Anda dapat menyalin / menempelkan contoh di bawah ini.

Jangan lupa untuk mengedit arahan "root" untuk menunjuk ke direktori root situs web Anda, dan "server_name" agar sesuai dengan domain Anda.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Sekarang kita sudah selesai dengan bagian konfigurasi NGINX dari tutorial ini. Kami akan memulai kembali NGINX dalam sedikit, tepat setelah kami menginstal PHP.

PHP-FPM

PHP-FPM adalah Manajer Proses Cepat PHP. Ini diperlukan saat menggunakan NGINX, karena tidak seperti Apache, NGINX tidak menjalankan PHP sebagai modul. Ini dilakukan untuk mengurangi jejak memori NGINX. Ingat bagian tentang NGINX menjadi proxy terbalik pertama dan terutama? Di sinilah yang berperan; Permintaan PHP yang dikirim ke NGINX diumpankan ke PHP-FPM untuk melakukan pekerjaan berat.

Mari kita instal PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Perhatikan bahwa tergantung pada apa yang dibutuhkan skrip PHP Anda, Anda mungkin harus menginstal modul PHP lain yang tidak termasuk secara default. Yang populer adalah php5-gddan php5-mcrypt. Anda dapat menginstal ini dengan perintah berikut.

apt-get install php5-module_name_here

Sekarang kami telah menginstal PHP-FPM, kami ingin melakukan beberapa pengeditan cepat untuk meningkatkan keamanan dan fungsionalitas.

cd /etc/php5/fpm
vi php.ini

Saatnya untuk pelajaran vim cepat lainnya! The php.inifile benar-benar besar. Mencari beberapa nilai kunci akan memakan waktu seharian. Jadi karena kita tahu apa yang kita cari, kita akan mencari. Ketikkan yang berikut ini:

/upload_max_filesize

Ini, secara default, diatur ke 2 megabyte. Jika Anda ingin mengizinkan pengguna untuk mengunggah file ke aplikasi PHP Anda lebih dari 2 megabita, Anda harus mengubahnya. 10M mungkin merupakan taruhan yang aman untuk saat ini, tetapi nilai yang lebih tinggi juga dapat diterima. Pengaturan ini akan bervariasi di antara konfigurasi. Demi tutorial:

upload_max_filesize = 10M

Satu lagi kelemahan keamanan yang mencolok. Gulir ke bawah sedikit lebih jauh atau cari. Kita perlu mengubah "allow_url_fopen" menjadi "Off". Ini akan mencegah PHP menjalankan file PHP yang di-host dengan REMOTELY, atau dikenal sebagai RFI (Remote File Inclusion). Banyak server diretas dengan cara ini.

allow_url_fopen = Off

Dan karena kami mengubah "upload_max_filesize", kami sekarang harus mengubah "post_max_size". Nilai ini harus sedikit lebih besar daripada "upload_max_filesize", karena kami harus memperhitungkan overhead yang terkait dengan permintaan kami yang diproses oleh PHP.

Mari mencari sekali lagi dengan "/ post_max_size".

post_max_size = 12M

Perhatikan bahwa Anda harus kembali ke konfigurasi NGINX Anda dan mengedit "client_max_body_size" jika Anda memutuskan untuk menggunakan nilai yang lebih besar daripada contoh-contoh ini untuk ukuran file PHP Anda.

Itu saja untuk sekarang. Pastikan Anda tidak dalam mode edit dengan menekan "Esc". Simpan dan keluar dari vim.

SHIFT :(colon)
wq
Press 'Enter'

Penyiapan PHP-FPM selesai.

MariaDB

Bahkan di dunia yang terus bergerak menuju NoSQL atau MongoDB, beberapa dari kita masih merasa lebih mudah untuk tetap menggunakan MySQL. Ini terutama berlaku untuk banyak aplikasi web. Untungnya, sekarang ada sejumlah pengganti "drop-in" untuk Oracle MySQL. Debian 8 sekarang termasuk MariaDB yang pernah populer. MariaDB adalah garpu dari Oracle MySQL berdasarkan versi 5.5. MariaDB, untuk semua maksud dan tujuan, menyebut MariaDB 10. Ini dianggap sebagai pengganti LENGKAP untuk Oracle MySQL. Anggap saja sebagai MySQL di hati, tanpa branding Oracle, dan beberapa fitur baru.

apt-get install mariadb-server

PENTING: Anda mutlak, secara positif, harus memilih kata sandi root yang kuat untuk MariaDB. Simpan di tempat yang aman. Anda harus memasukkannya dua kali selama instalasi MariaDB.

Mari kita sedikit mengubah konfigurasi MariaDB. Kita akan menonaktifkan mendengarkan MariaDB melalui antarmuka jaringan. Sebaliknya, seperti pada PHP-FPM sebelumnya, kami hanya akan menempel pada soket UNIX. Sebagian besar aplikasi PHP harus mendukung koneksi ke server database melalui soket UNIX bukan antarmuka loopback lokal.

cd /etc/mysql
vi my.cnf

Cari "bind-address = 127.0.0.1". Komentari kalimat itu. Di atas atau di bawahnya tambahkan "lewati jaringan".

#bind-address = 127.0.0.1
skip-networking

Kami selesai dengan MariaDB! Akhirnya, Anda mungkin ingin mengubah konfigurasi MariaDB Anda tergantung pada apakah Anda akan menggunakan terutama mesin penyimpanan MyISAM atau InnoDB, tetapi juga untuk jumlah core CPU dan RAM yang tersedia untuk server Anda. Defaultnya akan membuat kita aktif dan berjalan dalam waktu yang bersamaan.

Mari kita mulai kembali setiap layanan yang file konfigurasinya diubah dalam tutorial ini.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

Itu saja - kita semua selesai. Pada titik ini, Anda memiliki server LNMP (LEMP) yang berfungsi penuh secara online!

Panduan ini berfungsi sebagai pedoman umum untuk memulai dengan layanan di atas dengan sedikit penyesuaian. Untuk informasi lebih lanjut, baca dokumentasi untuk paket-paket di atas. Meskipun pengaturan contoh ini harus berfungsi dengan baik "di luar kotak", penyesuaian dapat, dan kemungkinan besar perlu dilakukan agar lebih sesuai dengan kebutuhan Anda.

Area yang disarankan untuk diteliti:

  • Memanfaatkan dan memodifikasi kontrol cache NGINX.
  • PHP-FPM "statis", "dinamis", atau "ondemand" pengaturan task manager.
  • Penyesuaian kinerja MariaDB untuk memaksimalkan server database Anda.


Leave a Comment

Siapkan Berbagi NFS di Debian

Siapkan Berbagi NFS di Debian

NFS adalah sistem file berbasis jaringan yang memungkinkan komputer untuk mengakses file di seluruh jaringan komputer. Panduan ini menjelaskan bagaimana Anda dapat mengekspos folder melalui NF

Menggunakan Tampilan MySQL pada Debian 7

Menggunakan Tampilan MySQL pada Debian 7

Pendahuluan MySQL memiliki fitur hebat yang dikenal sebagai tampilan. Tampilan adalah kueri yang disimpan. Pikirkan mereka sebagai alias untuk permintaan yang panjang. Dalam panduan ini,

Cara Memasang Thelia 2.3 pada Debian 9

Cara Memasang Thelia 2.3 pada Debian 9

Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajarkan Anda cara mengatur chroot jail di Debian. Saya berasumsi bahwa Anda menggunakan Debian 7.x. Jika Anda menjalankan Debian 6 atau 8, ini mungkin berhasil, bu

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pendahuluan Cara mudah untuk menyiapkan server VPN pada Debian adalah dengan PiVPN. PiVPN adalah penginstal dan pembungkus untuk OpenVPN. Ini menciptakan perintah sederhana untuk Anda

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

Instal Nginx, Wordpress, dan Mari Mengenkripsi dalam Menit dengan EasyEngine di Debian 8 atau Ubuntu 16.04

EasyEngine (ee) adalah alat Python yang memungkinkan Anda untuk mengelola situs Wordpress di Nginx dengan mudah dan otomatis. Menggunakan EasyEngine, Anda tidak perlu dea

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Cara Memasang BlogoText CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? BlogoText CMS adalah Content Management System (CMS) yang sederhana dan ringan, gratis, dan engine blog minimalis

Cara Memasang InvoicePlane di Debian 9

Cara Memasang InvoicePlane di Debian 9

Menggunakan Sistem yang Berbeda? InvoicePlane adalah aplikasi faktur sumber terbuka dan gratis. Kode sumbernya dapat ditemukan di repositori Github ini. Panduan ini

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Cara Memasang Backdrop CMS 1.8.0 pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Backdrop CMS 1.8.0 adalah Content Management System (CMS) yang sederhana dan fleksibel, ramah seluler, gratis dan terbuka yang memungkinkan kami

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem yang Berbeda? BookStack adalah platform sederhana, self-host, mudah digunakan untuk mengatur dan menyimpan informasi. BookStack sepenuhnya gratis dan terbuka

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Cara Memasang Pagekit 1.0 CMS pada Debian 9 LAMP VPS

Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Pantau Status Server Debian dengan Munin

Pantau Status Server Debian dengan Munin

Munin adalah alat pemantauan untuk mensurvei proses dan sumber daya di mesin Anda dan menyajikan informasi dalam grafik melalui antarmuka web. Gunakan tindak lanjutnya

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Cara Mengaktifkan TLS 1.3 di Apache pada Debian 10

Menggunakan Sistem yang Berbeda? TLS 1.3 adalah versi protokol Transport Layer Security (TLS) yang diterbitkan pada 2018 sebagai standar yang diusulkan dalam RFC 8446

Cara Memasang PyroCMS di Debian 9

Cara Memasang PyroCMS di Debian 9

Menggunakan Sistem yang Berbeda? PyroCMS adalah CMS open source yang ditulis dalam PHP. Kode sumber PyroCMS dihosting di GitHub. Dalam panduan ini berjalan dengan baik melalui keseluruhan

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Cara Memasang Redaxscript 3.2 CMS pada VPS Debian 9 LAMP

Menggunakan Sistem yang Berbeda? Redaxscript 3.2 CMS adalah Content Management System (CMS) yang modern dan sangat ringan, gratis dan open source dengan roket

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Tambahkan Kisaran Alamat IP ke Server Anda (CentOS / Ubuntu / Debian)

Pendahuluan Dalam tutorial ini, kita akan membahas proses menambahkan seluruh rentang IP / subnet ke server Linux yang menjalankan CentOS, Debian, atau Ubuntu. Prosesnya

Menyiapkan Counter Strike: Sumber di Debian

Menyiapkan Counter Strike: Sumber di Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server game sumber pada Debian 7. Perintah ini diuji pada Debian 7 tetapi perintah itu juga harus berfungsi

Instal PBX dalam Flash 5 pada Debian 8

Instal PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berbasis Debian 8 yang mengubah Vultr VPS Anda menjadi PBX yang lengkap. Ia memiliki fitur berikut, dan banyak lagi.

Cara Memasang Dolibarr di Debian 9

Cara Memasang Dolibarr di Debian 9

Menggunakan Sistem yang Berbeda? Dolibarr adalah perencanaan sumber daya perusahaan sumber terbuka (ERP) dan manajemen hubungan pelanggan (CRM) untuk bisnis. Dolibarr

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut