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

Panduan ini akan menunjukkan kepada anda cara memasang dan mengkonfigurasi tumpukan LAMP "alternatif" dengan betul di Debian 8 menggunakan NGINX, PHP Fast Process Manager, dan MariaDB.

NGINX

NGINX adalah "proksi terbalik pertama, pelayan web kedua". Ini adalah alternatif yang popular dan berkembang untuk Apache, menawarkan fleksibiliti dan prestasi yang lebih baik dalam banyak keadaan. Dalam tutorial ini, kami akan menggunakannya sebagai pelayan web kami.

Nyalakan pelanggan SSH kegemaran anda dan log masuk ke pelayan anda. Untuk pengguna Windows, "PuTTY" adalah pelanggan SSH percuma dan ringan. Pengguna Linux dan Mac dapat menggunakan terminal yang disertakan secara lalai dengan sistem operasi mereka. Untuk tutorial ini, kami akan menganggap bahawa anda log masuk ke pelayan anda sebagai pengguna "root".

Sebagai permulaan, mari kita pastikan semuanya terkini. Taipkan yang berikut untuk memeriksa dan kemudian pasang kemas kini.

apt-get update && apt-get upgrade

Kami akan mengedit fail konfigurasi kami dalam vim. Vim tidak dipasang secara lalai, jadi mari memasangnya!

apt-get install vim

Kini tiba masanya untuk memasang NGINX. Kami ingin memasang versi terbaru NGINX dari repositori NGINX Debian rasmi.

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. Navigasi ke direktori konfigurasi.

cd /etc/nginx

Pelajaran vim cepat

Gunakan kekunci anak panah untuk menavigasi dokumen teks. Untuk mula membuat pengeditan, tekan butang "masukkan" pada papan kekunci anda. Sekiranya papan kekunci anda tidak mempunyai butang sisipan, tekan butang "i". Menjelang bahagian bawah vim anda akan melihatnya sekarang tertulis "INSERT". Mod sisipan akan membolehkan anda memadam melalui ruang belakang atau memasukkan aksara baru dengan menaipnya.

Mari buka nginx.confdan cari:

vi nginx.conf

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

Arahan "pengguna" dan "pekerja_proses" berada di bahagian atas. Cuba nilai di bawah:

Perhatikan bahawa anda ingin menetapkan "pekerja_proses" ke bilangan teras CPU yang tersedia di pelayan anda. Dalam contoh ini, kita mempunyai 1, yang merupakan NGINX lalai.

user www-data;
worker_processes 1;

Kami juga ingin mematikan log akses, demi meningkatkan prestasi I / O. Navigasi ke bawah dengan kekunci anak panah sehingga anda menemui "access_log". Ubah suai perkara berikut:

access_log off;

Dan terakhir, kami akan menetapkan "client_max_body_size" agar sesuai dengan beberapa perubahan yang dibuat pada PHP di kemudian hari. Mari selamatkan masalah dan buat sekarang. Tambahkan tepat di bawah "access_log":

client_max_body_size 12m;

Setelah selesai mengedit, tekan "Esc" pada papan kekunci anda. Vim tidak akan lagi mengatakan "MASUK" ke bahagian bawah fail.

Untuk menyimpan perubahan kami dan berhenti vim, tekan urutan kekunci berikut:

SHIFT :(colon)
wq
Press "Enter"

Vim kung fu di atas akan menulis perubahan anda ke disk dan keluar dari vim, menjatuhkan anda kembali ke shell bash.

Sekarang, kita perlu membuat konfigurasi khusus laman web untuk contoh kita! Kami juga akan memadam konfigurasi contoh yang lain. Cuba yang berikut:

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

Kami akan membuat ringkas dan ringkas www.confberdasarkan konfigurasi NGINX lalai, tetapi dengan sedikit perubahan. Tekan sisipan dan anda boleh menyalin / menampal contoh di bawah.

Jangan lupa untuk mengedit arahan "root" untuk menunjuk ke direktori root laman web anda, dan "nama_pengguna" 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 bahagian konfigurasi NGINX dari tutorial ini. Kami akan memulakan semula NGINX sedikit demi sedikit, sejurus selepas kami memasang PHP.

PHP-FPM

PHP-FPM adalah Pengurus Proses Cepat PHP. Ia diperlukan ketika menggunakan NGINX, kerana tidak seperti Apache, NGINX tidak menjalankan PHP sebagai modul. Ini dilakukan untuk mengurangkan jejak memori NGINX. Ingat bahawa bahagian mengenai NGINX menjadi proksi terbalik terlebih dahulu? Di sinilah peranannya; Permintaan PHP yang dikirim ke NGINX dimasukkan ke PHP-FPM untuk melakukan pengangkatan berat.

Mari pasang PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Perhatikan bahawa bergantung pada apa yang diperlukan skrip PHP anda, anda mungkin perlu memasang modul PHP lain yang tidak disertakan secara lalai. Yang popular adalah php5-gddan php5-mcrypt. Anda boleh memasangnya dengan arahan berikut.

apt-get install php5-module_name_here

Setelah memasang PHP-FPM, kami ingin melakukan beberapa pengeditan pantas untuk meningkatkan keselamatan dan fungsi.

cd /etc/php5/fpm
vi php.ini

Masa untuk pelajaran vim cepat lain! The php.inifile sememangnya besar. Mencari beberapa nilai utama akan memakan masa seharian. Oleh kerana kita tahu apa yang kita cari, kita akan mencari. Taipkan perkara berikut:

/upload_max_filesize

Ini, secara lalai, ditetapkan menjadi 2 megabait. Sekiranya anda ingin membenarkan pengguna memuat naik fail ke aplikasi PHP anda yang melebihi 2 megabait, anda perlu mengubahnya. 10M mungkin merupakan pertaruhan selamat buat masa ini, tetapi nilai yang lebih tinggi juga boleh diterima. Tetapan ini akan berbeza antara konfigurasi. Demi tutorial:

upload_max_filesize = 10M

Satu lagi kelemahan keselamatan. Tatal ke bawah sedikit atau cari. Kita perlu mengubah "allow_url_fopen" ke "Off". Ini akan mengelakkan PHP menjalankan fail PHP yang dihoskan SEGERA, atau dikenali sebagai RFI (Penyisipan Fail Jauh). Banyak pelayan digodam dengan cara ini.

allow_url_fopen = Off

Dan kerana kami menukar "upload_max_filesize", sekarang kita harus menukar "post_max_size". Nilai ini harus sedikit lebih besar daripada "upload_max_filesize", kerana kita harus mengambil kira overhead yang terkait dengan permintaan kita yang diproses oleh PHP.

Mari cari sekali lagi dengan "/ post_max_size".

post_max_size = 12M

Perhatikan bahawa anda harus kembali ke konfigurasi NGINX dan mengedit "client_max_body_size" jika anda memutuskan untuk menggunakan nilai yang lebih besar daripada contoh ini untuk ukuran fail PHP anda.

Itu sahaja buat masa ini. Pastikan anda tidak berada dalam mod edit dengan menekan "Esc". Simpan dan keluar vim.

SHIFT :(colon)
wq
Press 'Enter'

Persediaan PHP-FPM selesai.

MariaDB

Walaupun di dunia terus bergerak ke arah NoSQL atau MongoDB, sebilangan daripada kita masih merasa lebih senang untuk terus menggunakan MySQL. Ini berlaku terutamanya untuk banyak aplikasi web. Nasib baik, sekarang terdapat sebilangan pengganti "drop-in" untuk Oracle MySQL. Debian 8 kini merangkumi MariaDB yang pernah popular. MariaDB adalah garpu Oracle MySQL berdasarkan versi 5.5. MariaDB, untuk semua maksud dan tujuan, menyebutnya MariaDB 10. Ini dianggap sebagai pengganti PENUH untuk Oracle MySQL. Anggaplah ia sebagai MySQL di hati, tanpa penjenamaan Oracle, dan beberapa ciri baru.

apt-get install mariadb-server

PENTING: Anda semestinya, positif, mesti memilih kata laluan root yang kuat untuk MariaDB. Simpan di tempat yang selamat. Anda perlu memasukkannya dua kali semasa pemasangan MariaDB.

Mari ubah sedikit konfigurasi MariaDB. Kami akan melumpuhkan pendengaran MariaDB melalui antara muka rangkaian. Sebaliknya, seperti PHP-FPM sebelumnya, kami hanya akan menggunakan soket UNIX. Sebilangan besar aplikasi PHP harus menyokong penyambungan ke pelayan pangkalan data melalui soket UNIX dan bukannya antara muka loopback tempatan.

cd /etc/mysql
vi my.cnf

Cari "bind-address = 127.0.0.1". Komen yang dinyatakan. Di atas atau di bawahnya menambah "langkau-rangkaian".

#bind-address = 127.0.0.1
skip-networking

Kami sudah selesai dengan MariaDB! Akhirnya, anda mungkin ingin mengubah konfigurasi MariaDB anda bergantung pada apakah anda akan menggunakan terutamanya enjin penyimpanan MyISAM atau InnoDB, tetapi juga untuk bilangan teras CPU dan RAM yang tersedia untuk pelayan anda. Lalai akan membuat kita terus beroperasi dan berjalan lancar.

Mari mulakan semula setiap perkhidmatan yang mana fail konfigurasi telah diubah suai dalam tutorial ini.

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

Itu sahaja - kita semua sudah selesai. Pada ketika ini, anda mempunyai pelayan LNMP (LEMP) yang berfungsi sepenuhnya dalam talian!

Panduan ini berfungsi sebagai aturan umum untuk memulakan dengan perkhidmatan di atas dengan tweaking minimum. Untuk maklumat lebih lanjut, baca dokumentasi untuk pakej di atas. Walaupun penyediaan contoh ini harus berfungsi dengan baik "out of the box", penyesuaian dapat dilakukan, dan kemungkinan besar perlu dibuat agar sesuai dengan keperluan anda.

Kawasan yang disyorkan untuk penyelidikan:

  • Menggunakan dan mengubah kawalan cache NGINX.
  • Tetapan pengurus tugas PHP-FPM "statik", "dinamik", atau "atas permintaan".
  • Penyesuaian prestasi MariaDB untuk memanfaatkan sepenuhnya pangkalan data pangkalan data anda.


Leave a Comment

Sediakan NFS Share di Debian

Sediakan NFS Share di Debian

NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF

Menggunakan Paparan MySQL pada Debian 7

Menggunakan Paparan MySQL pada Debian 7

Pengenalan MySQL mempunyai ciri hebat yang dikenali sebagai pandangan. Paparan adalah pertanyaan yang disimpan. Anggap mereka sebagai alias untuk pertanyaan yang panjang. Dalam panduan ini,

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pengenalan Cara mudah untuk menyediakan pelayan VPN di Debian adalah dengan PiVPN. PiVPN adalah pemasang dan pembungkus untuk OpenVPN. Ini membuat perintah mudah untuk anda

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Menggunakan Sistem Berbeza? Sejak GitHub diambil alih oleh Microsoft, sebilangan besar pembangun telah merancang untuk memindahkan repositori kod mereka sendiri dari github.co

Pasang PBX dalam Flash 5 pada Debian 8

Pasang PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berasaskan Debian 8 yang menjadikan Vultr VPS anda menjadi PBX lengkap. Ia mempunyai ciri-ciri berikut, dan banyak lagi.

Cara Membangun Brotli Dari Sumber pada Debian 9

Cara Membangun Brotli Dari Sumber pada Debian 9

Menggunakan Sistem Berbeza? Brotli adalah kaedah pemampatan baru dengan nisbah mampatan yang lebih baik daripada Gzip. Kod sumbernya dihoskan secara umum di Github. Thi

Pasang Lynis di Debian 8

Pasang Lynis di Debian 8

Pengenalan Lynis adalah alat audit sistem sumber terbuka yang percuma yang digunakan oleh banyak pentadbir sistem untuk mengesahkan integriti dan mengeraskan sistem mereka. Saya

Cara Memasang Neos CMS pada Debian 9

Cara Memasang Neos CMS pada Debian 9

Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan

Cara Memasang InvoicePlane pada Debian 9

Cara Memasang InvoicePlane pada Debian 9

Menggunakan Sistem Berbeza? InvoicePlane adalah aplikasi invois sumber bebas dan terbuka. Kod sumbernya boleh didapati di repositori Github ini. Panduan ini

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem Berbeza? BookStack adalah platform yang mudah dihoskan sendiri, mudah digunakan untuk mengatur dan menyimpan maklumat. BookStack adalah percuma dan terbuka

Cara Pasang Matomo Analytics pada Debian 9

Cara Pasang Matomo Analytics pada Debian 9

Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o

Cara Memasang X-Cart 5 pada Debian 10

Cara Memasang X-Cart 5 pada Debian 10

Menggunakan Sistem Berbeza? X-Cart adalah platform eCommerce sumber terbuka yang sangat fleksibel dengan banyak ciri dan integrasi. Kod sumber X-Cart adalah hoste

Pantau Status Pelayan Debian dengan Munin

Pantau Status Pelayan Debian dengan Munin

Munin adalah alat pemantauan untuk meninjau proses dan sumber di mesin anda dan menyampaikan maklumat dalam grafik melalui antara muka web. Gunakan ikutan

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Menggunakan Sistem Berbeza? Tiny Tiny RSS Reader adalah pembaca berita dan agregator suapan berita (RSS / Atom) berasaskan laman web bebas dan terbuka sumber bebas dan terbuka, yang direka untuk semua

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Pengenalan Dalam tutorial ini, kita akan membahas proses penambahan keseluruhan rangkaian / subnet IP ke pelayan Linux yang menjalankan CentOS, Debian, atau Ubuntu. Proses

Menyiapkan Counter Strike: Sumber pada Debian

Menyiapkan Counter Strike: Sumber pada Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server permainan sumber di Debian 7. Perintah ini diuji pada Debian 7 tetapi mereka juga harus berfungsi

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i

Cara Memasang Dolibarr pada Debian 9

Cara Memasang Dolibarr pada Debian 9

Menggunakan Sistem Berbeza? Dolibarr adalah perancangan sumber perusahaan sumber terbuka (ERP) dan pengurusan hubungan pelanggan (CRM) untuk perniagaan. Dolibarr

Pasang Mailcow pada Debian 7

Pasang Mailcow pada Debian 7

Pengenalan Mailcow adalah suite mailserver ringan berdasarkan pelbagai pakej, seperti DoveCot, Postfix dan banyak pakej sumber terbuka yang lain. Mailcow dll

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut