Cara Memasang Nginx, MySQL & PHP (Lemp) di Ubuntu 20.04

Cara Memasang Nginx, MySQL & PHP (Lemp) di Ubuntu 20.04

Gabungan Linux, Nginx, MySQL, dan PHP dikenali sebagai Lemp Stack adalah persekitaran hosting web yang popular untuk aplikasi berasaskan PHP. Di sini Linux adalah sistem operasi, Nginx adalah pelayan web yang popular, MySQL adalah sistem pengurusan pangkalan data relasi yang digunakan untuk menyimpan data dan PHP adalah bahasa pengaturcaraan yang digunakan secara meluas.

Artikel ini akan membantu anda memasang nginx, mysql 8.0 dan Php 7.4 pada sistem Ubuntu Linux. Mari kita mulakan dengan pemasangan LEMP Stack mesin Ubuntu anda.

Prasyarat

Sebelum memulakan pemasangan Lemp di Ubuntu:

  • Ubuntu yang berlari 20.04 Sistem
  • Log masuk sebagai akaun sudo yang dibuktikan pada sistem anda. Untuk menciptanya ikuti tutorial persediaan pelayan awal.
  • Nama domain/subdomain menunjuk ke pelayan anda

Memasang pelayan web nginx

Seterusnya, anda perlu memasang pelayan web nginx pada sistem anda. Pakej Nginx boleh didapati di bawah repositori lalai.

Jalankan arahan berikut untuk memasangnya:

sudo apt update sudo apt memasang nginx 

Memasang PHP dengan PHP-FPM

Php 7.4 pakej boleh didapati di bawah repositori lalai di Ubuntu 20.04 LTS. Gunakan arahan berikut untuk mengemas kini cache apt dan pasang PHP pada sistem anda.

sudo apt kemas kini sudo apt pemasangan -y php7.4 Php7.4-fpm 

Pasang juga modul PHP tambahan yang diperlukan untuk aplikasi anda.

sudo apt memasang php7.4-curl Php7.4-GD Php7.4-Json Php7.4-MBSTRING PHP7.4-xml 

Anda telah memasang Php 7.4 dengan pakej php fpm pada sistem anda. Mari kita periksa status perkhidmatan PHP FPM dengan menjalankan arahan di bawah:

Status Sudo Systemctl Php7.4-fpm ● Php7.4-fpm.Perkhidmatan - PHP 7.4 Pengurus Proses FastCGI dimuatkan: dimuatkan (/lib/systemd/system/php7.4-fpm.perkhidmatan; didayakan; Pratetap Vendor: Diaktifkan) Aktif: Aktif (Running) Sejak Tue 2020-06-16 05:15:57 UTC; 34s yang lalu Dokumen: Man: PHP-FPM7.4 (8) Proses: 882716 execstartPost =/usr/lib/php/php-fpm-socket-helper pemasangan/run/php/php-fpm.kaus kaki/etc/php/7.4/fpm/kolam.D/www.CONF 74> PID Utama: 882699 (PHP-FPM7.4) Status: "Proses Aktif: 0, Idle: 2, Permintaan: 0, Lambat: 0, Trafik: 0REQ/SEC" Tugas: 3 (Had: 2283) Memori: 10.3m cgroup: /sistem.Slice/Php7.4-fpm.Perkhidmatan ├─882699 php-fpm: Proses induk (/etc/php/7.4/FPM/PHP-FPM.conf) ├─882714 php-fpm: Pool www └─882715 php-fpm: Pool www Jun 16 05:15:57 Tecadmin Systemd [1]: Memulakan PHP 7.4 Pengurus Proses Fastcgi ... Jun 16 05:15:57 Tecadmin Systemd [1]: Memulakan Php 7.4 Pengurus Proses Fastcgi. 

Memasang MySQL

Ubuntu lalai 20.04 repositori apt mengandungi MySQL Server 8.0. Akhirnya, pasang pakej mysql-server untuk pangkalan data mysql. Juga, pasang pakej php-mysql untuk menggunakan sokongan mysql menggunakan php. Gunakan arahan berikut untuk memasangnya.

sudo apt memasang mysql-server php7.4-mysql 

Pemasang akan meminta kata laluan root, kata laluan ini akan berfungsi untuk pengguna root mysql anda. Setelah memasang MySQL melaksanakan arahan berikut untuk tetapan awal pelayan MySQL. Anda akan melihat skrip itu akan meminta lebih banyak tetapan daripada versi MySQL yang terdahulu seperti dasar pengesahan kata laluan dll.

sudo mysql_secure_installation 
Menjamin penggunaan pelayan MySQL. Menyambung ke mysql menggunakan kata laluan kosong. Sahkan komponen kata laluan boleh digunakan untuk menguji kata laluan dan meningkatkan keselamatan. Ia memeriksa kekuatan kata laluan dan membolehkan pengguna menetapkan hanya kata laluan yang cukup selamat. Adakah anda ingin menyiapkan Sahkan Komponen Kata Laluan?  Tekan y | y untuk ya, apa -apa kunci lain untuk tidak: y Terdapat tiga tahap dasar pengesahan kata laluan: panjang rendah> = 8 panjang sederhana> = 8, angka, kes campuran, dan watak khas panjang> = 8, angka, Kes bercampur, aksara khas dan fail kamus Sila masukkan 0 = rendah, 1 = medium dan 2 = kuat: 2 Sila tetapkan kata laluan untuk root di sini. Kata Laluan Baru: Masukkan semula Kata Laluan Baru: Kekuatan Kata Laluan yang dianggarkan: 100 Adakah anda ingin meneruskan kata laluan yang disediakan?(Tekan y | y untuk ya, apa -apa kunci lain untuk tidak): y Secara lalai, pemasangan MySQL mempunyai pengguna tanpa nama, yang membolehkan sesiapa masuk ke MySQL tanpa perlu membuat akaun pengguna yang dibuat untuk mereka. Ini hanya bertujuan untuk ujian, dan membuat pemasangan menjadi lebih lancar. Anda harus membuangnya sebelum bergerak ke persekitaran pengeluaran. Keluarkan pengguna tanpa nama? (Tekan y | y untuk ya, apa -apa kunci lain untuk tidak): y kejayaan. Biasanya, akar hanya boleh dibenarkan untuk menyambung dari 'localhost'. Ini memastikan seseorang tidak dapat meneka pada kata laluan root dari rangkaian. Tidak balak log masuk dari jauh? (Tekan y | y untuk ya, apa -apa kunci lain untuk tidak): y kejayaan. Secara lalai, MySQL dilengkapi dengan pangkalan data bernama 'ujian' yang boleh diakses oleh sesiapa sahaja. Ini juga hanya bertujuan untuk ujian, dan harus dikeluarkan sebelum bergerak ke persekitaran pengeluaran. Keluarkan pangkalan data ujian dan akses kepadanya? (Tekan y | y untuk ya, apa -apa kunci lain untuk tidak): y - Pangkalan data ujian menjatuhkan ... Kejayaan. - Mengeluarkan Keistimewaan pada Pangkalan Data Ujian ... Kejayaan. Muat semula Jadual Keistimewaan akan memastikan bahawa semua perubahan yang dibuat setakat ini akan berkuatkuasa dengan segera. Muat semula jadual keistimewaan sekarang? (Tekan y | y untuk ya, apa -apa kunci lain untuk tidak): y kejayaan. Semua selesai! 

Konfigurasikan nginx dengan php-fpm

Mari buat hos maya nginx untuk dijalankan dengan fpm/fastcgi. Untuk tutorial ini, kami menggunakan lalai VirtualHost. Edit fail konfigurasi host VirtualHost dalam editor teks. Anda boleh membuat VirtualHost baru mengikut keperluan anda, jadi pastikan untuk membolehkan mana -mana VirtualHost baru.

sudo vim/etc/nginx/sites-tersedia/contoh.com 

Gunakan konfigurasi hos maya nginx di bawah dengan tetapan PHP FPM. Kemas kini konfigurasi sebagai berikut.

pelayan mendengar 80; root/var/www/html; Indeks indeks.Indeks PHP.Indeks HTML.htm; Contoh Server_name.com; lokasi / try_files $ uri $ uri / = 404; lokasi ~ \.Php $ termasuk coretan/fastcgi-php.Con; fastcgi_pass unix:/var/run/php/php7.4-fpm.kaus kaki;
123456789101112131415pelayan mendengar 80; root/var/www/html; Indeks indeks.Indeks PHP.Indeks HTML.htm; Contoh Server_name.com; lokasi / try_files $ uri $ uri / = 404; lokasi ~ \.Php $ termasuk coretan/fastcgi-php.Con; fastcgi_pass unix:/var/run/php/php7.4-fpm.kaus kaki;

Simpan perubahan anda ke fail konfigurasi dan buat pautan ke direktori diaktifkan tapak.

sudo ln -s/etc/nginx/sites -tersedia/contoh.com/etc/nginx/enabled/contoh/contoh.com 

Kemudian mulakan semula perkhidmatan nginx untuk memuatkan semula perubahan.

sudo systemctl mulakan semula nginx 

Langkah 5 - Menguruskan Perkhidmatan

Kami telah melakukan dengan pemasangan timbunan lampu di Ubuntu 20.04 Sistem LTS. Perintah di bawah akan membantu anda memulakan/menghentikan atau memulakan semula perkhidmatan Nginx dan MySQL yang dijalankan dengan SystemD.

Untuk memulakan semula perkhidmatan Nginx dan MySQL, taipkan:

SUDO Systemctl Restart Nginx Sudo Systemctl Mulakan semula MySQL 

Untuk memulakan perkhidmatan Nginx dan MySQL, taip:

sudo systemctl start nginx sudo systemctl start mysql 

Untuk menghentikan perkhidmatan Nginx dan MySQL, taip:

sudo systemctl stop nginx sudo systemctl hentikan mysql 

Langkah 6 - Laraskan peraturan firewall

Anda boleh memberikan nama perkhidmatan secara langsung seperti "http" atau "https" untuk membenarkan. Fail Firewalld menggunakan /etc /perkhidmatan untuk menentukan port perkhidmatan yang sepadan.

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https  Sudo Firewall-CMD-Reload 

Langkah 7 - Sahkan persediaan

Setelah menyelesaikan semua persediaan. Mari buat a maklumat.php Root dokumen laman web fail dengan kandungan berikut.

sudo echo "">/var/www/html/info.php 

Sekarang akses fail ini dalam penyemak imbas web. Anda akan melihat skrin seperti di bawah dengan semua butiran PHP di pelayan.

Tahniah! Anda telah berjaya mengkonfigurasi Lemp Server di Ubuntu 20 anda.04 Sistem LTS.