Nginx atau engine x adalah server proxy dan HTTP berkinerja tinggi dengan konsumsi memori rendah. Sebagian besar situs web berskala besar seperti Netflix, Pinterest, CloudFlare, GitHub menggunakan Nginx Show
Pada langkah ini, kita akan menginstal server web Nginx dari repositori Ubuntu Perbarui semua repositori di sistem Ubuntu dan instal paket Nginx menggunakan perintah apt di bawah ini sudo apt update Setelah penginstalan selesai, mulai layanan Nginx dan aktifkan untuk diluncurkan setiap kali boot sistem systemctl start nginx_ Sekarang instalasi Nginx Webserver selesai, periksa layanan Nginx menggunakan perintah berikut systemctl status nginx Di bawah ini adalah hasil yang akan Anda dapatkan Juga, periksa port HTTP pada sistem Ubuntu dan pastikan itu digunakan oleh layanan Nginx ss -plt4 Di bawah ini adalah hasil yang akan Anda dapatkan Hasilnya, protokol HTTP digunakan oleh layanan Nginx Selanjutnya, kita akan mengamankan instalasi Nginx kita menggunakan firewall UFW Tambahkan protokol HTTP dan HTTPS ke konfigurasi firewall UFW menggunakan perintah berikut for fw in ssh http https_ Sekarang aktifkan firewall UFW dan periksa statusnya ufw enable Dan protokol HTTP dan HTTPS telah ditambahkan ke konfigurasi firewall UFW Langkah 2 - Instal MySQLMySQL adalah Relational Database Management System (RDBMS) sumber terbuka paling populer yang dibuat oleh Oracle Corporation. Ini adalah komponen utama dari LEMP Stack, dan kami akan menginstal versi MySQL terbaru dari repositori Ubuntu Instal MySQL menggunakan perintah apt di bawah ini sudo apt install mysql-server mysql-client_ Setelah penginstalan MySQL selesai, mulai layanan MySQL dan aktifkan untuk diluncurkan setiap kali boot sistem systemctl start mysql Sekarang periksa layanan MySQL menggunakan perintah di bawah ini systemctl status mysql_ Layanan MySQL aktif dan berjalan Selanjutnya, kita akan mengatur kata sandi root untuk server MySQL Jalankan perintah 'mysql_secure_installation' di bawah ini mysql_secure_installation_ Sekarang Anda akan diminta sebagai konfigurasi berikut, dan pastikan untuk mengetik kata sandi yang kuat untuk pengguna root MySQL systemctl start nginx_0 Dan kata sandi root MySQL telah dikonfigurasi Akibatnya, instalasi dan konfigurasi LEMP Stack di Ubuntu 20. 04 telah berhasil diselesaikan Langkah pertama sebelum menginstal paket apa pun adalah mengonfigurasi firewall untuk mengizinkan koneksi HTTP dan HTTPS Periksa status firewall $ sudo ufw status Anda akan melihat sesuatu seperti berikut ini Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Izinkan port HTTP dan HTTPs $ sudo ufw allow http $ sudo ufw allow https Periksa status lagi untuk konfirmasi $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) Langkah 2 - Instal PHPUbuntu 22. 04 dikirimkan dengan PHP 8. 1 secara default. Anda dapat menginstalnya dengan menjalankan perintah berikut $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd Kami telah menginstal ekstensi PHP MySQL, CLI, GD, Mbstring, dan XML. Anda dapat menginstal ekstensi tambahan apa pun sesuai kebutuhan Anda Untuk selalu mengikuti versi terbaru PHP atau jika Anda ingin menginstal beberapa versi PHP, tambahkan repositori PHP Ondrej Tambahkan repositori PHP Ondrej $ sudo add-apt-repository ppa:ondrej/php Sekarang, Anda dapat menginstal versi PHP apa pun $ sudo apt install php8.0-fpm php8.0-cli Periksa versi PHP yang diinstal $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies Langkah 3 - Instal MySQLUbuntu 22. 04 dikirimkan dengan versi terbaru dari MySQL. Anda dapat menginstalnya dengan satu perintah $ sudo apt install mysql-server Periksa versi MySQL $ sudo ufw status_0 Langkah ini diperlukan untuk MySQL versi 8. 0. 28 ke atas. Masukkan Shell MySQL $ sudo ufw status_1 Jalankan perintah berikut untuk mengatur kata sandi untuk pengguna root Anda. Pastikan itu memiliki campuran angka, huruf besar, huruf kecil, dan karakter khusus $ sudo ufw status_2 Keluar dari cangkang $ sudo ufw status_3 Jalankan skrip instalasi aman MySQL $ sudo ufw status_4 Anda akan diminta untuk menginstal Komponen Kata Sandi Validasi. Ini memeriksa kekuatan kata sandi yang digunakan di MySQL. Tekan Y untuk menginstalnya Selanjutnya, Anda akan diminta untuk mengatur tingkat kebijakan validasi kata sandi. Pilih 2 karena itu yang terkuat Selanjutnya, masukkan kata sandi root Anda. Tekan N untuk menolak mengubahnya Tekan Y untuk menghapus pengguna anonim, melarang login root jarak jauh, menghapus database pengujian, dan memuat ulang tabel hak istimewa Langkah 4 - Konfigurasikan MySQLMasuk ke shell MySQL. Masukkan kata sandi root Anda saat diminta $ sudo ufw status_5 Buat database sampel $ sudo ufw status_6 Buat akun pengguna SQL $ sudo ufw status_7 Berikan semua hak istimewa pada database kepada pengguna $ sudo ufw status_8 Siram hak pengguna $ sudo ufw status_9 Keluar dari cangkang $ sudo ufw status_3 Mari kita masuk lagi ke shell MySQL menggunakan pengguna yang baru dibuat Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)1 Buat tabel uji Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)2 Masukkan data uji Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)3 Ulangi perintah di atas waktu terpisah untuk menambahkan lebih banyak entri. Jalankan perintah berikut untuk memeriksa isi tabel Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)4 Anda akan menerima output berikut Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)5 Keluar dari shell MySQL $ sudo ufw status_3 Langkah 5 - Instal NginxUbuntu 22. 04 dikirimkan dengan versi Nginx yang lebih lama. Untuk menginstal versi terbaru, Anda perlu mengunduh repositori resmi Nginx Impor kunci penandatanganan Nginx Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)7 Tambahkan repositori untuk versi stabil Nginx Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)8 Perbarui repositori sistem Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)_9 Instal Nginx $ sudo ufw allow http $ sudo ufw allow https0 Verifikasi instalasi $ sudo ufw allow http $ sudo ufw allow https1 Langkah 6 - Konfigurasikan PHP-FPMBuka $ sudo add-apt-repository ppa:ondrej/php_9 untuk diedit $ sudo ufw allow http $ sudo ufw allow https2 Untuk menyetel ukuran upload file, ubah nilai variabel $ sudo apt install php8.0-fpm php8.0-cli0 dan $ sudo apt install php8.0-fpm php8.0-cli1 $ sudo ufw allow http $ sudo ufw allow https3 Konfigurasikan batas memori PHP tergantung pada sumber daya dan persyaratan server Anda $ sudo ufw allow http $ sudo ufw allow https4 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Buka file $ sudo apt install php8.0-fpm php8.0-cli_2 $ sudo ufw allow http $ sudo ufw allow https5 Kita perlu mengatur pengguna/grup proses PHP Unix ke nginx. Temukan $ sudo apt install php8.0-fpm php8.0-cli_3 dan $ sudo apt install php8.0-fpm php8.0-cli4 baris dalam file dan ubah menjadi $ sudo apt install php8.0-fpm php8.0-cli5 $ sudo ufw allow http $ sudo ufw allow https6 Juga, temukan baris $ sudo apt install php8.0-fpm php8.0-cli_6 dan $ sudo apt install php8.0-fpm php8.0-cli7 di file dan ubah menjadi $ sudo apt install php8.0-fpm php8.0-cli5 $ sudo ufw allow http $ sudo ufw allow https7 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Mulai ulang proses PHP-fpm $ sudo ufw allow http $ sudo ufw allow https8 Langkah 7 - Instal phpMyAdminUnduh file arsip phpMyAdmin untuk bahasa Inggris $ sudo ufw allow http $ sudo ufw allow https_9 Buat direktori publik untuk situs tersebut $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_0 Ekstrak arsip ke direktori publik $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_1 Beralih ke direktori publik $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_2 Ganti nama direktori yang diekstraksi menjadi sesuatu yang tidak jelas untuk meningkatkan keamanan $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_3 Langkah 8 - Konfigurasikan phpMyAdminSalin file konfigurasi sampel $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_4 Buka file konfigurasi untuk diedit $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_5 Temukan baris $ sudo apt install php8.0-fpm php8.0-cli9 dan masukkan string acak 32 karakter untuk autentikasi berbasis cookie Anda dapat menggunakan generator blowfish online phpSolved atau melakukannya melalui baris perintah Salin nilainya dan tempel seperti yang ditunjukkan $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_6 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Ubah kepemilikan situs dan phpMyAdmin ke server Nginx $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_7 Hapus direktori pengaturan phpMyAdmin $ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)_8 Langkah 9 - Konfigurasikan OpcacheOpcache adalah sistem caching PHP. Ini bekerja dengan menyimpan bytecode skrip yang telah dikompilasi dalam memori, jadi setiap kali pengguna mengunjungi halaman, halaman dimuat lebih cepat. Opcache diinstal secara default. Untuk memverifikasi, periksa versi PHP $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies Ini memberitahu kita bahwa Opcache telah diinstal dan tersedia. Jika tidak muncul di sini, Anda dapat menginstalnya secara manual dengan menjalankan perintah berikut $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd0 Untuk mengubah pengaturan Opcache, buka file $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies0 untuk diedit $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd1 Pengaturan berikut harus Anda mulai dengan menggunakan Opcache dan umumnya direkomendasikan untuk kinerja yang baik. Anda dapat mengaktifkan konfigurasi dengan menghapus tanda komentar dengan menghapus titik koma di depannya $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd2 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Langkah 10 - Instal Certbot untuk SSLKita perlu menginstal Certbot untuk menghasilkan sertifikat SSL gratis yang ditawarkan oleh Let's Encrypt Anda dapat menginstal Certbot menggunakan repositori Ubuntu atau mengambil versi terbaru menggunakan alat Snapd. Kami akan menggunakan versi Snapd Ubuntu 22. 04 dilengkapi dengan Snapd yang terinstal secara default. Jalankan perintah berikut untuk memastikan bahwa versi Snapd Anda sudah yang terbaru $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd_3 Instal Cerbot $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd4 Gunakan perintah berikut untuk memastikan bahwa perintah Certbot dapat dijalankan dengan membuat tautan simbolik ke direktori $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies1 $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd5 Langkah 11 - Uji situs demoBuat situsBuat dan buka halaman percobaan untuk diedit $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd6 Rekatkan kode berikut di dalamnya $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd7 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Buat Sertifikat SSLJalankan perintah berikut untuk menghasilkan Sertifikat SSL $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd8 Perintah di atas akan mengunduh sertifikat ke direktori $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies2 di server Anda Hasilkan sertifikat grup Diffie-Hellman $ sudo apt install php-fpm php-cli php-mysqlnd php-mbstring php-xml php-gd_9 Buka file $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies_3 untuk diedit $ sudo add-apt-repository ppa:ondrej/php_0 Rekatkan kode berikut di bagian bawah $ sudo add-apt-repository ppa:ondrej/php_1 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Kami telah membuat sertifikat SSL menggunakan opsi mandiri Certbot. Itu menjalankan server webnya untuk membuat sertifikat yang berarti Nginx harus dimatikan selama pembaruan. Perintah pre_hook dan post_hook berjalan sebelum dan sesudah pembaruan untuk menutup dan memulai ulang server Nginx secara otomatis sehingga tidak memerlukan intervensi manual Untuk memeriksa apakah perpanjangan SSL berfungsi dengan baik, lakukan uji coba proses $ sudo add-apt-repository ppa:ondrej/php_2 Jika Anda tidak melihat kesalahan, Anda sudah siap. Sertifikat Anda akan diperpanjang secara otomatis Konfigurasi NginxBuat dan buka file $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies_4 untuk diedit $ sudo add-apt-repository ppa:ondrej/php_3 Rekatkan kode berikut di dalamnya $ sudo add-apt-repository ppa:ondrej/php_4 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Buka file $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies_5 untuk diedit $ sudo add-apt-repository ppa:ondrej/php_5 Tambahkan baris berikut sebelum baris $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies6 $ sudo add-apt-repository ppa:ondrej/php_6 Simpan file dengan menekan Ctrl + X dan memasukkan Y saat diminta Verifikasi konfigurasi Nginx Anda $ sudo add-apt-repository ppa:ondrej/php_7 Jika Anda tidak melihat kesalahan, itu berarti Anda siap melakukannya. Mulai server Nginx $ sudo add-apt-repository ppa:ondrej/php_8 Muat situs web Anda dengan mengunjungi $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies_7 di browser Anda dan Anda akan melihat halaman berikut Anda dapat mengakses instalasi phpMyAdmin Anda dengan mengunjungi URL $ php --version PHP 8.1.2 (cli) (built: Jun 13 2022 13:52:54) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies8 di browser Anda. Anda dapat memasukkan pengguna root Anda atau pengguna yang dibuat sebelumnya untuk masuk KesimpulanIni menyimpulkan tutorial kami di mana Anda belajar cara menyiapkan tumpukan LEMP di Ubuntu 22. 04 server dan membuat situs demo. Jika Anda memiliki pertanyaan, kirimkan di komentar di bawah Bagaimana cara menginstal MySQL di nginx?Mari kita mulai. . Langkah 1. Mengonfigurasi server Anda dengan Ubuntu 20. 04. . Langkah 2. Menginstal dan Mengkonfigurasi Server Nginx. . Langkah 3. Menginstal Sistem Manajemen Basis Data MySQL. . Langkah 4. Menginstal PHP dan Menyiapkan Nginx untuk Menggunakan Prosesor PHP. . Langkah 5. Membuat File PHP untuk Menguji tumpukan LEMP Anda Bagaimana cara saya terhubung ke database MySQL?Untuk Menghubungkan ke Database MySQL . Klik tab Layanan Perluas node Drivers dari Database Explorer. . Masukkan Nama Pengguna dan Kata Sandi. . Klik OK untuk menerima kredensial. . Klik OK untuk menerima skema default Klik kanan URL Database MySQL di jendela Layanan (Ctrl-5) Bagaimana cara saya terhubung ke MySQL menggunakan Putty?Cara Mengakses MySQL dari Jarak Jauh dengan Membuat Terowongan SSH dengan Putty . Unduh Putty.dll Simpan Putty ke desktop Anda Klik dua kali file Putty untuk memulai - tidak perlu menginstal. . Masukkan nama host atau alamat IP Linode Anda di bidang Nama Host (atau alamat IP). Di menu sebelah kiri, buka Connection -> SSH -> Tunnels Bagaimana cara saya memulai dan terhubung ke server MySQL?Membuat Koneksi ke MySQL . Di kotak Nama server, masukkan nama server MySQL. Di kotak Server port, masukkan nomor port menjadi 3306. Ini adalah port default Di kotak Nama pengguna, masukkan akun MySQL yang memiliki izin yang diperlukan Di kotak Kata Sandi, masukkan kata sandi untuk nama pengguna yang ditentukan |